我有一个异步的javascript函数,我们称之为switch
。该函数在特定事件上被调用。 (例如按钮点击)。问题是,并行多次执行任务会使脚本内存不足。所以我想按顺序执行它。
default
generateThumbnail
快速按下按钮3次会产生输出
start 1 end 1 start 2 start 3 end 2 end 3
我想要的是
start 1 end 1 start 2 end 2 start 3 end 3
答案 0 :(得分:2)
保持上次执行的承诺,并将每个新调用链接到该...
let promise = Promise.resolve();
function userPressesButton() {
let arg = // ...
promise = promise.then(() => generateThumbnail(arg));
return promise;
}