使用Promise
const sleep = (time) => {
return new Promise((resolve) => {
setTimeout(resolve, time);
});
};
sleep(1000).then(() => {
console.log("abc");
})
使用Generator
function* sleep(time) {
yield new Promise((resolve) => {
setTimeout(resolve, time);
});
}
sleep(1000).next().value.then(() => {
console.log("123");
})
使用async/await
async function sleep(time, func) {
await new Promise((resolve => setTimeout(resolve, time)))
return func()
}
sleep(1000, () => {
console.log("111");
})
使用ES5
function sleep(callback, time) {
if (typeof callback === "function") {
setTimeout(callback, time);
}
}
function output() {
console.log("abccd");
}
sleep(output, 1000);