sleep()的优雅实现
演示
var sleep = async (duration) => {
return new Promise((resolve, reject) => {
setTimeout(resolve, duration);
});
};
(async () => {
console.log("start!"+new Date().toISOString());
console.time("timer1");
await sleep(2000);//阻塞该async方法的执行线程,直到sleep()返回的Promise resolve
console.timeEnd("timer1");
console.log("end"+new Date().toISOString());
})();
console.log("after sleep test!");
输出
start!2017