【发布时间】:2021-07-21 19:19:53
【问题描述】:
我遇到了一个问题,即 JavaScript 数组卡在待处理状态。是不是因为请求太多?
const removeBots = async(arr) => {
try {
for (let i = 0; i < arr.length; i++) {
console.log(i)
axios.get(`https://api.etherscan.io/api?module=account&action=txlist&address=${arr[i]}&apikey=${apiKey}`)
.then(res => console.log(res.data.result.length))
}
console.log("Done");
console.log(walletsFinal);
} catch (e) {
console.log("error", e)
}
}
编辑-我注意到反引号的格式问题并修复了它。我正在尝试解决 API 每秒调用次数限制为 5 次的问题。
【问题讨论】:
-
“卡在待处理”是什么意思?你的意思是 AJAX 调用吗?
-
“数组卡在挂起”是什么意思?
-
由于您在调用
axios.get()时没有使用await,因此您的循环应该立即结束,而无需等待AJAX 请求完成。 -
@Barmar 没有等待,但 OP 使用 .then 语法,所以这不应该是问题。
-
@Voodu 使用
.then()使console.log()等待响应,但不会使循环等待。
标签: javascript