【发布时间】:2022-01-05 07:54:59
【问题描述】:
我有一个用户数组,每个用户都有一个 IP 地址。
我有一个 API,我将 IP 作为请求发送,它返回属于该 IP 的县代码。
为了获得每个用户的国家代码,我需要向每个用户发送单独的请求。
在我的代码中,我执行了异步等待,但大约需要 10 秒才能获得所有响应,如果我不执行异步等待,则根本无法获得国家代码。 我的代码:
async function getAllusers() {
let allUsersData = await usersDao.getAllusers();
for (let i = 0; i < allUsersData.length; i++) {
let data = { ip: allUsersData[i].ip };
let body = new URLSearchParams(data);
await axios
.post("http://myAPI", body)
.then((res) => {
allUsersData[i].countryCode = res.data.countryCode;
});
}
return allUsersData;
}
【问题讨论】:
-
那么,您到底在寻求什么帮助?听起来您在使用
await时确实获得了代码。allUsersData数组中有多少项? -
问题是,如果我使用 await 它会花费太多时间来处理所有响应(大约 10 秒),这是因为它在我有大约 40 个用户的每个请求后等待响应跨度>
标签: node.js api asynchronous