我正在使用异步节点库来处理一些数据。它是有线的,有时它返回带有2个元素的array
作为undefined
,而另一些时候作为一个元素返回结果。以下是示例代码
let async = require('async');
class Foo {
getFoo(req, callback) {
let self = this;
async.waterfall( [
self._foo.bind(self, req),
self._bar.bind(self),
self._foobar.bind(self)
] , (err, result)=> {
if (err) return callback(err);
console.log(result);
return callback(null, result);
});
}
}
我在另一个文件let Foo =require(‘foo’)中使用了上面的类;
let req = {};
let seriesProcessArr = [];
let foo = new Foo();
seriesProcessArr.push(foo.getFoo.bind(foo,req));
async.series( seriesProcessArr , (err, result) => {
if(err) {
console.log(err);
}
console.log(result);
});
首先,result
应该有一个对象,而不是我要得到的数组。其次,有时将undefined
作为第一个元素。
发布于 2018-06-09 06:39:46
因为您使用的是收集结果的async.series
,所以result
是一个数组。
礼貌:@Bergi (请阅读评论)
https://stackoverflow.com/questions/50745632
复制相似问题