javascript setTimeout函数的异步实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript setTimeout函数的异步实现相关的知识,希望对你有一定的参考价值。
const setAsyncTimeout = (cb, timeout = 0) => new Promise(resolve => {
setTimeout(() => {
cb();
resolve();
}, timeout);
});
// Instead of nesting setTimeout functions...
const doStuff = () => {
setTimeout(() => {
// Do stuff
setTimeout(() => {
// Do more stuff
setTimeout(() => {
// Do even more stuff
}, 2000);
}, 500);
}, 1000);
};
doStuff();
// await them in an async function
const doStuffAsync = async () => {
await setAsyncTimeout(() => {
// Do stuff
}, 1000);
await setAsyncTimeout(() => {
// Do more stuff
}, 500);
await setAsyncTimeout(() => {
// Do even more stuff
}, 2000);
};
doStuffAsync();
以上是关于javascript setTimeout函数的异步实现的主要内容,如果未能解决你的问题,请参考以下文章
setTimeout 函数执行代码没有任何延迟。 Javascript [重复]
在javascript中的另一个setTimeout函数中使用setTimeout
JavaScript 的setTimeout 和Angular中的$timeout的區別
JavaScript 函数 setTimeout() 和 setInterval() 有时不工作
javascript setTimeout函数的异步实现
javascript setTimeout错误函数