方法一:采用Promise
//先输出了 111,延迟 3000ms 后输出 222
function sleep(ms) {
var temple = new Promise((resolve) => {
console.log(111)
setTimeout(resolve, ms)
})
return temple
}
sleep(3000).then(function () {
console.log(222)
})
方法二:采用async await
//延迟 1000ms 输出了 1111
function sleep(ms) {
return new Promise((resolve) => setTimeout(resolve, ms))
}
async function test() {
var temple = await sleep(1000)
console.log(1111)
return temple
}
test()
方法三:采用Generator函数
//先输出了 111,延迟 3000ms 后输出 2222
function* sleep(ms) {
yield new Promise(function (resolve, reject) {
console.log(111)
setTimeout(resolve, ms)
})
}
sleep(3000)
.next()
.value.then(function () {
console.log(2222)
})
版权声明:本文为weixin_44478371原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。