javascript - 如果超时过期如何跳过一段代码
问题描述
我正在使用 discord.js 编写一个简单的不和谐机器人。我正在制作一个“踢”命令,其中,如果用户在 x 秒内没有发送“确认”,则整个命令将被取消。问题是我不知道如何设置超时。如果超时到期,我如何跳过一些代码?
解决方案
注意:如果确认是指确认();命令你不能取消它运行或运行另一个代码,而确认是活动的,因为确认();正在阻塞。在这种情况下,我建议检查非阻塞方法。
//Declare a global boolean variable
var expired=false;
function expireIt(){
expired=true;
}
//x seconds
//three secs for this example
let x=3000;
setTimeout(expireIt(), x);
function whateverYouRun(){
//if expired is true do nothing
if(expired){
//do nothing, time expired
}else{
//your code goes here
}
}
推荐阅读
- image-processing - 如何使亮度和对比度设置适应热像仪以保持数据一致性?
- sharepoint-2013 - 通过 CSOM 更新的项目不会触发远程事件接收器
- android - 单击通知时未清除后台堆栈
- javascript - 带箭头的 D3 弯曲链接未出现在屏幕上
- python - python vsphere DRS组
- windows - 自动从 SVN 导出工作副本
- php - Laravel 请求仅在更改时更新唯一字段
- python - Groupby 两列并将不同的分位数打印为单独的列
- node.js - 需要在 mongodb 中比较 2 个不同的日期字段
- react-native - 升级到 React Native 0.56 后无法解决加速模块