javascript - JS延迟脚本运行
问题描述
我知道我可以使用 setTimeout,但我的软件有一些限制,所以我必须使用一种解决方法。我在网上找到了这个应该作为延迟函数工作的:
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
因为我是 Js 新手,所以我不知道如何调用这个函数。我正在尝试做这样的事情:
sleep(2000) {
...
}
但上述方法不起作用。有人可以告诉我如何运行该功能。谢谢你。
请注意,我的问题不同,因为我不能使用 setTimeout 函数。
解决方案
这个功能看起来不太好。我建议使用 promise 和 .then():
function sleep(time) {
return new Promise(resolve => {
setTimeout(() => {
resolve()
}, time)
}
}
你可以像这样调用这个函数:
await sleep(2000)
或者
sleep(2000).then(() => {
// rest of code
})
NONETHELESS,回到你的问题,你会这样调用函数:
sleep(2000)
// rest of code
推荐阅读
- reactjs - 从自定义钩子返回 JSX
- python - 为什么我的代码(应该放在列标题中)将整个 Excel 工作表擦除为空白而没有标题?
- html - 在 h 标签或 p 标签中间设置文本样式的最佳方法是什么?
- python - 列出 Flask Cache 中所有缓存的键
- python - 仅使用数据集的第一个样本进行训练的模型
- c++ - 不允许抽象类类型“mazeGenerator”的 C++ 对象:纯虚函数“olcGameEngine::OnUserUpdate”没有覆盖器
- html - 在语义 UI 中,如何在单击下拉菜单时将用户重定向到新页面,并在单击箭头时显示下拉项目?
- firebase - 颤动 multi_image_picker 图像选择重复
- python - 根据单元格和列名更改数据框中的值
- ruby - RSpec 模拟具有嵌套属性的类