实现man.addSleep(1000).eatFood(‘haobao’).addSleep(1000).eatFood(‘gg’)
class LazyMan{
constructor(){
this.promise = Promise.resolve()
}
addSleep(time){
this.promise = this.promise.then(()=>{
return new Promise(resolve=>{
setTimeout(()=>{
resolve()
},time)
})
})
return this
}
eatFood(val){
this.promise = this.promise.then(()=>{
console.log(val)
})
return this
}
}
let man = new LazyMan()
man.addSleep(1000).eatFood('haobao').addSleep(1000).eatFood('gg')