Javascript 如何从async.eachOfSeries函数将值返回主函数?
我正在使用库,我希望能够将'someVar'返回到主函数,有可能吗?文档提到,如果没有提供回调,它将返回一个承诺。但是没有提到从函数返回值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.
(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);
}
})();