promise究极经典的面试题

201 阅读1分钟

话不多说,直接上干货:

function sleep(time){
    // 请写出你的代码
}

sleep(2000).then(()=>{
    console.log("后续操作")
})
console.log(2);

如代码,让sleep 的功能与setTimeout一样:就是等2000毫秒之后再执行后续操作。

分析:这题目就是考核的是promise中经典异步操作,根据执行结果,决定是否调用 resolve,reject

解决代码如下:

function sleep(time){
	return new Promise(function(resolve,reject){
        // 异步操作,根据执行结果,决定是否调用 resolve,reject
        setTimeout(function(){
            resolve()
        }, time)
    })
}