node.js - 在 async.each 中检索异步回调信息的简单方法

标签 node.js asynchronous callback

我在 Node js 工作中经常遇到一个问题,我想知道处理它的最佳方法。

我对 API 进行了异步调用,该 API 会回调数据信息,例如交通时间。

我需要迭代需要获取交通时间的数据集合。我使用 async.each 来执行此操作。

请求全部完成后,如何收集所有流量时间?

目前,我正在使用的解决方案是将一个附加数组参数传递给异步调用,该调用是一个数组,我在其中推送数据结果,然后回调该数组。

一旦一切完成,我就可以在这个数组中获取我需要的所有信息,但是,由于这是我需要在很多不同的上下文中执行的操作,我想知道是否有一种最简单的方法来处理这个问题。

非常感谢:)

最佳答案

async.map() 的工作方式与 async.each() 类似,并允许您将结果传递给回调。然后使用包含结果的数组调用最终回调。

参见https://github.com/caolan/async#map

例如(未经测试,可能会更短,但我为示例明确写了一些内容)

async.map(dataCollection, function(data, done) {
    trafficTime.get(data, function(err, time) {
        if (err) return done(err);
        done(null, time);
    });
}, function(err, times) {
    # times is the results array
});

关于node.js - 在 async.each 中检索异步回调信息的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34067951/

相关文章:

node.js - 有没有办法查看 Hapi 服务器中的所有路由

ruby - 是否有一种简单的方法来检查 Ruby IO 实例是否会阻塞 read()?

javascript - nodejs等待函数执行

c# - 如何在 C# 中调用和使用 WSAAsyncSelect()?

c++ - 什么是回调?它的用途是什么以及如何在 C++ 中实现

javascript - 使用任何编程语言或脚本或通过工具更改 JSON 内容以获取 excel 格式的数据?

javascript - meteor : Not being able to hide UI elements

javascript - 如何在Node和浏览器js中正确使用Unicode和UTF-8特殊字符?

swift - 我应该怎么做才能在tableView中加载异步图像?

java - Tyrus Websocket 实现中的异步消息传递是否有序?