Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 向节点js中的async.eachSeries传递额外参数_Node.js_Asynchronous_Async Await - Fatal编程技术网

Node.js 向节点js中的async.eachSeries传递额外参数

Node.js 向节点js中的async.eachSeries传递额外参数,node.js,asynchronous,async-await,Node.js,Asynchronous,Async Await,是否有方法将col作为参数传递给userIter函数?我试着使用.bind(),但没用。我想在调用async.eachSeries(users、userIter、userIterError)之前定义col,并将col传递给userIter和userIterError const Promise = require('bluebird'); const async = require('async'); let col = []; let userIter = (customer, saveC

是否有方法将
col
作为参数传递给
userIter
函数?我试着使用
.bind()
,但没用。我想在调用
async.eachSeries(users、userIter、userIterError)
之前定义
col
,并将col传递给
userIter
userIterError

const Promise = require('bluebird');
const async = require('async');

let col = [];

let userIter = (customer, saveCDetailsCb) => {
    setTimeout(async () => {
     try{
      console.log(customer);
      if(customer%2 == 0){
        throw new Error(`${customer} does not exist`);
      }
     } catch (err) {
        col.push({ user: customer, error: err.message });
     }
      saveCDetailsCb(null, true);
    }, 100); 
};
let userIterError = async (err) => {
    console.log(99);
    bbb(null, true);
}
let bbb = async (err) => {
    console.log(col);
}
const a = async () => {
    await new Promise (resolve => {
        console.log(95);
        const users = [0,1,2,3,4];
        async.eachSeries(users, userIter, userIterError);
        resolve(true);
    });
   return true;
};
a();

Satya,您不应该使用Promise和async/await,它们是相同的东西,但有不同的应用程序。另外,您可以将col设置为“const”。