Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.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
Javascript 如何从async.eachOfSeries函数将值返回主函数?_Javascript_Node.js_Async.js - Fatal编程技术网

Javascript 如何从async.eachOfSeries函数将值返回主函数?

Javascript 如何从async.eachOfSeries函数将值返回主函数?,javascript,node.js,async.js,Javascript,Node.js,Async.js,我正在使用库,我希望能够将'someVar'返回到主函数,有可能吗?文档提到,如果没有提供回调,它将返回一个承诺。但是没有提到从函数返回值 (async ()=>{ let returnedval = async.eachOfSeries(someArr, async(val,key) => { let someVar = someFunction(); ... return promise.

我正在使用库,我希望能够将'someVar'返回到主函数,有可能吗?文档提到,如果没有提供回调,它将返回一个承诺。但是没有提到从函数返回值

(async ()=>{
   let returnedval = async.eachOfSeries(someArr, async(val,key) => {                     

       let someVar = someFunction();
       ...
       return promise.Resolve();
   });
})();

我做过这件事,它对我有用。在eachOfSeries外部创建一个函数,然后通过传入所需的值从eachOfSeries内部调用该函数。每次迭代都将传递和记录数据

注意:

我将代码更改为对eachOfSeries使用空回调 函数并避免返回承诺。我已经分享了下面的链接,以获取有关异步文档的更多信息


如果您想了解有关异步npm的更多信息,

尽管在eachOfSeries外部声明的变量将在series函数中使用,但该值将为“null”,因为main函数将立即执行,而不会等待async.eachOfSeries完成,后者将在main函数外部异步执行。这就是为什么我想知道我们是否可以在序列完成后返回值,或者在每个序列上返回值。
> let someVar = [];
> 
> (async ()=>{    let returnedval = async.eachOfSeries(someArr,
> async(val,key) => {                     
> 
>        someVar.push(someFunction());
>        ...    },{}); }
> 
> or
> 
> (async ()=>{
> 
>    let someVar = [];
> 
>    let returnedval = async.eachOfSeries(someArr, async(val,key) => {  
> 
> 
>        someVar.push(someFunction());
>        ...    },{});

}
(async ()=>{

     //variable created outside the eachOfSeries
     let someVar = [];

      async.eachOfSeries(someArr, async(val,key) => {                     
    
           someVar = someFunction();
           ...
           logPassedData(someVar);
           
       },{});

    //Function created outside the eachOfSeries
    function logPassedData(val){
       console.log("This was passed from within the eachOfSeries : " + val);
    }

})();