让sleep 的功能与setTimeout一样,5000毫秒之后再执行后续操作
定时器是异步操作,但是要求在5000毫秒之后执行代码,由此可知需要使用promise
function sleep(time){
// 请写出你的代码
//声明变量
const p = new Promise((resolve,reject)=>{
setTimeout(()=>{
resolve()
},time)
})
return p //成功返回p 为resolve,继续执行then()
}
sleep(5000).then(()=>{
console.log("后续操作")
})
console.log(2);
计算最后打印的值
function increment(value) {
console("value+1="+value+1) // value+1= 2
return value + 1;
}
function doubleUp(value) { //此时value = value+1 为2
return value * 2;
}
function output(value) {
console.log(value);// => (1 + 1) * 2 //4
}
var p = Promise.resolve(1);
//1.p 返回值是promise对象,而 p 的promise 的状态是resolve,成功返回值 1
p.then(increment)
// 此时 p 状态为resolve,value等于 1,执行increment(1),函数体计算后返回值为2
.then(doubleUp)
//p.then(increment)状态为resolve,继续执行函数 doubleUp(2) ,计算return返回值为 4
.then(output)
//同样then(doubleUp)的状态为resolve,执行 output(4) ,最终打印为4