如何通过队列调用方法?假设我有一个方法,这个方法将调用API,它一次只需要处理3个调用。当某个组件的调用超过3次时。它需要等待任何一个调用完成,然后运行下一个调用
这只是一个例子,我没有循环API调用,真正的项目是通过用户操作调用API
for (let i = 0; i < 9; i++) {
doSomething(i)
}
doSomething(param){
//call api
}它应该调用api 0- 9,但我想调用前3个doSomething,另一个将等待任何一个调用完成
发布于 2021-07-01 15:47:37
一个示例实现。
for (let i = 0; i < 9; i++) {
doSomething(i)
}
async function doSomething(param) {
//call api
if ( param < 3 ) {
const x = callApi();
console.log(x);
} else {
const x = await callApi();
console.log(x);
}
}
async function callApi() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('success')
}, 2000)
})
}
https://stackoverflow.com/questions/68206138
复制相似问题