javascript - 如何提醒异步函数同一函数的另一个实例已触发?
问题描述
我想在我的函数中创建一个警报,以跟踪同一函数的任何其他实例是否在 15 秒内触发。这就是我到目前为止所拥有的:
bar = 0;
async function Counting() {
bar += 1;
foo = bar;
new Promise(resolve => setTimeout(resolve, 5000));
if (bar == foo) {
//Do something
}
else {
return;
}
}
我使用 bar 作为全局计数器,使用 foo 作为函数实例计数器,但由于某种原因,函数的所有实例同时更新。
如何检查此函数是否在 15 秒的等待期内触发,然后在这种情况下停止该函数的所有先前实例?
解决方案
今天早些时候,我问了一个类似的问题,@FedericoMoretti 用户名的某个人能够帮助我。他建议使用 let 和 const 变量,这在我的具体情况下起到了作用。
let bar = 0;
async function Counting() {
bar += 1;
const foo = bar;
new Promise(resolve => setTimeout(resolve, 5000));
if (bar == foo) {
//Do something
}
else {
return;
}
}
推荐阅读
- angular - Prime Modal 打不开
- javascript - 为什么这个简单的 Math.max() 示例返回 NaN?
- java - 在java中处理.csv文件(新手级别)
- scala - Scala REPL 在 Ubuntu 上不起作用
- dll - 提供 TTS 动态库
- angularjs - AngularJS 1.x 和 Angular 5 之间的 Kendo UI 语法是否不同?
- docker - 在 docker swarm 中部署多个 Zookeeper
- c - 数组类型有不完整的元素类型错误
- c# - 通过忽略深度链接在 Xamarin.Android 中从 URL 打开文件
- azure-ad-b2c - 如何配置会话行为和令牌生命周期