考虑以下代码:
var async = require('async');
var a = function()
{
console.log("Hello ");
};
var b = function()
{
console.log("World");
};
async.series(
[
a,b
]
);
输出为 Hello
为什么World
不包含在输出中?
对于调用的每个方法series
,都会传递一个必须运行的回调方法,在示例中您将忽略该方法。
文档说:
任务-包含要运行的函数的数组或对象,每个函数都传递了一个回调(err,结果),该函数必须在完成时调用,并带有错误err(可以为null)和可选的结果值。
您的代码在第一种方法之后停止的原因是未运行回调,并且series
假定发生了错误并停止了运行。
要解决此问题,您必须按照以下方式重写每个方法:
var b = function(callback)
{
console.log("World");
callback(null, null) // error, errorValue
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句