Cyr*_*lle 2 javascript loops promise es6-promise
我有一个执行一些异步工作并返回 a 的函数,Promise
我想无限期地执行这个函数,直到reject
ed承诺。
类似于以下内容:
doSomethingAsync().
.then(doSomethingAsync)
.then(doSomethingAsync)
.then(doSomethingAsync)
// ... until rejection
Run Code Online (Sandbox Code Playgroud)
我做了一个 CodePen,所以我可以测试潜在的解决方案:http ://codepen.io/JesmoDrazik/pen/pbAovZ?editors=0011
我找到了几个可能的答案,但似乎对我的情况没有任何作用。
如果有人有解决方案,我会很高兴,因为我找不到任何东西!
谢谢。
你可以做
(function loop(){
doSomethingAsync().then(loop);
})();
Run Code Online (Sandbox Code Playgroud)
但是看着你的笔,并不清楚拒绝应该来自哪里。如果您想在用户单击按钮时停止重复操作,您可以在按钮处理中更改状态,然后执行
(function loop(){
doSomethingAsync().then(function(){
if (!stopped) loop();
});
})();
Run Code Online (Sandbox Code Playgroud)