传入 async.waterfall 模型的数据不起作用?
Data passing in async.waterfall model is not working?
我想把数据1和数据2直接传给最后一个函数。
当我将数据 1 传递给第二个函数并从那里将数据 1 + 数据 2 传递给最后一个函数时,它正在工作。但问题是我不想将数据 1 传递给第二个函数。我们可以用 'asyc.series'
和 'async.parallel'
来做吗?
var fs = require("fs");
var async = require('async');
async.waterfall([
myFirstFunction,
mySecondFunction,
], function (err,data1,data2) {
var values={'data1':data1,'data2':data2,'msg':"hai"}
console.log("values: %j", values);
});
function myFirstFunction(callback) {
fs.readFile('file1.js','utf8',function(err,data1){
callback(null,data1);
});
}
function mySecondFunction(callback) {
fs.readFile('file2.js','utf8',function(err,data2){
callback(null,data2);
});
}
你应该用 async.parallel
var fs = require("fs");
var async = require('async');
async.parallel([
myFirstFunction,
mySecondFunction,
], function (err, results) {
if(err) console.error(err);
var data1 = results[0];
var data1 = results[1];
});
function myFirstFunction(callback) {
fs.readFile('file1.js','utf8',function(err,data1){
callback(null,data1);
});
}
function mySecondFunction(callback) {
fs.readFile('file2.js','utf8',function(err,data2){
callback(null,data2);
});
}
我想把数据1和数据2直接传给最后一个函数。
当我将数据 1 传递给第二个函数并从那里将数据 1 + 数据 2 传递给最后一个函数时,它正在工作。但问题是我不想将数据 1 传递给第二个函数。我们可以用 'asyc.series'
和 'async.parallel'
来做吗?
var fs = require("fs");
var async = require('async');
async.waterfall([
myFirstFunction,
mySecondFunction,
], function (err,data1,data2) {
var values={'data1':data1,'data2':data2,'msg':"hai"}
console.log("values: %j", values);
});
function myFirstFunction(callback) {
fs.readFile('file1.js','utf8',function(err,data1){
callback(null,data1);
});
}
function mySecondFunction(callback) {
fs.readFile('file2.js','utf8',function(err,data2){
callback(null,data2);
});
}
你应该用 async.parallel
var fs = require("fs");
var async = require('async');
async.parallel([
myFirstFunction,
mySecondFunction,
], function (err, results) {
if(err) console.error(err);
var data1 = results[0];
var data1 = results[1];
});
function myFirstFunction(callback) {
fs.readFile('file1.js','utf8',function(err,data1){
callback(null,data1);
});
}
function mySecondFunction(callback) {
fs.readFile('file2.js','utf8',function(err,data2){
callback(null,data2);
});
}