返回介绍

第一部分 类型和语法

第二部分 异步和性能

A.3 值与错误序列

发布于 2023-05-24 16:38:21 字数 774 浏览 0 评论 0 收藏 0

如果序列的某个步骤只是一个普通的值,这个值就映射为这个步骤的完成消息:

var sq = ASQ( 42 );

sq.val( function(msg){
  console.log( msg );    // 42
} );

如果你想要构建一个自动出错的序列:

var sq = ASQ.failed( "Oops" );

ASQ()
.seq( sq )
.val( function(msg){
  // 不会到达这里
} )
.or( function(err){
  console.log( err );   // Oops
} );

也有可能你想自动创建一个延时值或者延时出错的序列。使用 contrib 插件 after 和 failAfter ,很容易实现:

var sq1 = ASQ.after( 100, "Hello", "World" );
var sq2 = ASQ.failAfter( 100, "Oops" );

sq1.val( function(msg1,msg2){
  console.log( msg1, msg2 );     // Hello World
} );

sq2.or( function(err){
  console.log( err );           // Oops
} );

也可以使用 after(..) 在序列中插入一个延时:

ASQ( 42 )
// 在序列中插入一个延时
.after( 100 )
.val( function(msg){
  console.log( msg );   // 42
} );

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文