Javascript 在Node.js中,如何使用Node seq按顺序链接异步函数?

Javascript 在Node.js中,如何使用Node seq按顺序链接异步函数?,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,今天我一直在玩@substack的node seq模块,它允许我将异步函数链接在一起 我让它与并行函数一起工作,但无法按顺序运行函数。每当我运行下面的代码时,它只输出'hello1'语句。知道我做错了什么吗 var Seq = require('seq'); Seq() .seq(function () { console.log('hello1'); }) .seq(function () { console.log('hello2'

今天我一直在玩@substack的node seq模块,它允许我将异步函数链接在一起

我让它与并行函数一起工作,但无法按顺序运行函数。每当我运行下面的代码时,它只输出'hello1'语句。知道我做错了什么吗

var Seq = require('seq');

Seq()
    .seq(function () {
        console.log('hello1');
    })
    .seq(function () {
        console.log('hello2');
    })
;
谢谢你的建议

你只需要

每个方法都使用下一节中描述的上下文(其
this
)执行回调。每个方法都返回
this

无论何时使用非falsy第一个参数调用
this()
,错误值都会向下传播到它看到的第一个
catch
,跳过其间的所有操作。在所有链的末尾都有一个隐式的
catch
,它打印错误堆栈(如果可用),否则只打印错误

这将解决您的问题

var Seq = require('seq');

Seq()
    .seq(function () {
        console.log('hello1');
        this();
    })
    .seq(function () {
        console.log('hello2');
    })
;
否则,
Seq
无法知道该步骤何时完成。

您只需要

每个方法都使用下一节中描述的上下文(其
this
)执行回调。每个方法都返回
this

无论何时使用非falsy第一个参数调用
this()
,错误值都会向下传播到它看到的第一个
catch
,跳过其间的所有操作。在所有链的末尾都有一个隐式的
catch
,它打印错误堆栈(如果可用),否则只打印错误

这将解决您的问题

var Seq = require('seq');

Seq()
    .seq(function () {
        console.log('hello1');
        this();
    })
    .seq(function () {
        console.log('hello2');
    })
;
否则,
Seq
无法知道该步骤何时完成