我需要在 JavaScript 中实现一个函数,以下面的方式运行异步进程:
- 如果变量设置为 true,该进程将运行异步检查
- 如果为 true,异步进程将停止
- 当变量设置为 false 时,异步进程将再次启动。
最好的方法是什么?两个函数(异步和 UI)或通过回调都可以访问的全局变量?
最佳答案
在不使用任何外部库等的情况下,一种简单的方法是使用某种形式的封装来返回一个 stop 方法。
这是一个简单的例子。
function doAsyncStuff() {
var i = setInterval(function () {
console.log("tick");
}, 1000);
return function stop() {
console.log("Stop called");
clearInterval(i);
}
}
var stop = doAsyncStuff();
document.querySelector("button").onclick = stop;
<button>Stop</button>
您甚至可以扩展它以返回多个函数,例如恢复重新启动等。
关于javascript - 在 Javascript 中停止异步进程的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49348818/