常常有业务需求,要等几秒才进行下一步操做。还能够进行防抖节流。bash
// 利用回调函数
function sleep(callback,time) {
if(typeof callback === 'function') {
setTimeout(callback,time)
}
}
function output(){
console.log(1);
}
sleep(output,1000);
复制代码
// Promise
const sleep = (time) => {
return new Promise((resolve, reject) => {
setTimeout(resolve, time);
})
}
sleep(5000).then(() => {
console.log('业务代码')
})
复制代码
const sleep = (time) => {
return new Promise((resolve, reject) => {
setTimeout(resolve, time);
})
}
async function sleepAsync () {
await sleep(5000);
console.log('业务代码')
}
sleepAsync()
复制代码
//Generator
const sleep = (time) => {
return new Promise((resolve, reject) => {
setTimeout(resolve, time);
})
}
function* sleepGenerator(time) {
yield sleep(time);
}
sleepGenerator(5000).next().value.then(()=>{
console.log('业务代码')
})
复制代码