gpt4 book ai didi

Node.js 异步 forEach 两个数组

转载 作者:太空宇宙 更新时间:2023-11-03 22:47:44 24 4
gpt4 key购买 nike

我遇到了异步和两个数组的问题。

我有两个数组

var arrayOne = new Array();
var arrayTwo = new Array();

我目前正在尝试弄清楚如何在 waterfall 中执行以下异步样式:

... // some code
function (arrayOne, arrayTwo, callback) {
// do stuff
for(var i = 0; arrayOne.length > i; i++) {
// do more stuff
callback(e, arrayOne[i], arrayTwo[i]);
}
},
function (valueOne, valueTwo, callback) {
... // more code

我尝试使用 async.foreach 但它只适用于一个数组:/

因此:

... // some code
function (arrayOne, arrayTwo, callback) {
// do stuff
forEach(arrayOne, function(valueOne, callback) {
// do more stuff
}, function(e){
// do more stuff
callback(e, valueOne, /* valueTwo???? */);
});
},
function (valueOne, valueTwo, callback) {
... // more code

最佳答案

使用async.times循环最短数组的长度:

function task( a, b, next ) {
setTimeout( function() {
next( null, a + b );
}, 1000 );
}

function work( a, b, done ) {
async.times( Math.min( a.length, b.length ), function( i, next ) {
task( a[i], b[i], next );
}, done );
}

var a = [1, 1, 1, 1];
var b = [1, 1, 1];

work( a, b, function( err, result ) {
console.log( 'result:', result );
});

console.log( 'continuing...' );

关于Node.js 异步 forEach 两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20556363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com