今天我一直在玩@suback的node-seq模块,它允许我将异步函数链接在一起。
https://github.com/substack/node-seq
我使用并行功能,但无法顺序运行功能。每当我运行以下代码时,它只打印出'hello1'语句。我有什么想法吗?
var Seq = require('seq');
Seq()
.seq(function () {
console.log('hello1');
})
.seq(function () {
console.log('hello2');
})
;
感谢您的任何建议!
答案 0 :(得分:4)
每个方法都使用下一节中描述的上下文(其
this
)执行回调。每个方法都返回this
。每当使用非虚假的第一个参数调用
this()
时,错误值会向下传播到它看到的第一个catch
,跳过其间的所有操作。在所有链的末尾都有一个隐式catch
打印错误堆栈(如果可用),否则只打印错误。
this
可以解决您的问题。
var Seq = require('seq');
Seq()
.seq(function () {
console.log('hello1');
this();
})
.seq(function () {
console.log('hello2');
})
;
否则Seq
无法知道步骤何时完成。