我需要在 .then() 方法内递归调用函数本身。像这样的东西:function poll(params) { const returned_promise = read_from_backend(some_url, some_params); returned_promise .then(some_process_func) .then(r => { poll(some_params); // recursive call }) }poll(starting_params);有没有办法在 while 循环中编写这个算法,而不阻塞主线程?
1 回答
不负相思意
TA贡献1777条经验 获得超10个赞
这是一种用 while 循环编写算法的方法。由于我们通过 Promises 处理异步代码,因此我们不会阻塞主线程。
async function poll(params) {
while (true) {
await new Promise(resolve => setTimeout(resolve, 1000)) // perhaps sleep a bit between polls
const returned_promise = read_from_backend(some_url, some_params);
const r = await returned_promise.then(some_process_func)
}
}
poll(starting_params);
添加回答
举报
0/150
提交
取消