异步回调返回数组代替对象
async callback returning array in place of object
我正在使用异步节点库来处理一些数据。它的行为有线,有时它返回 array
,其中 2 个元素首先作为 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);
});
}
}
我在另一个文件中使用上面的 class
让 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
。
result
是一个数组,因为您正在使用 async.series
,它收集结果。
礼貌:@Bergi(请阅读评论)
我正在使用异步节点库来处理一些数据。它的行为有线,有时它返回 array
,其中 2 个元素首先作为 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);
});
}
}
我在另一个文件中使用上面的 class 让 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
。
result
是一个数组,因为您正在使用 async.series
,它收集结果。
礼貌:@Bergi(请阅读评论)