在对象值的异步for循环完成执行后如何调用函数

在对象值的异步for循环完成执行后如何调用函数,第1张

在对象值的异步for循环完成执行后如何调用函数

这可以在普通JS中完成,但是我建议使用

async
模块,它是用于处理Node.js中异步代码的最流行的库。例如,使用
async.each

var async = require('async');var courseIds = Object.keys(courses);// Function for handling each course.function perCourse(courseId, callback) {    var course = courses[courseId];    // do something with each course.    callback();}async.each(courseIds, perCourse, function (err) {    // Executed after each course has been processed.});

如果要使用每次迭代的结果,则

async.map
类似,但是将结果数组传递给回调的第二个参数。

如果您喜欢香草JS,则可以代替

async.each

function each(list, func, callback) {    // Avoid emptying the original list.    var listCopy = list.slice(0);    // Consumes the list an element at a time from the left.    // If you are concerned with overhead in using the shift    // you can accomplish the same with an iterator.    function doOne(err) {        if (err) { return callback(err);        }        if (listCopy.length === 0) { return callback();        }        var thisElem = listCopy.shift();        func(thisElem, doOne);    }    doOne();}

摘自我前段时间写的要点)

我强烈建议您使用异步库。异步很容易编写,类似

async.auto
的功能非常出色。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5049739.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存