寫(xiě)一個(gè)鏈?zhǔn)秸{(diào)用,調(diào)用方式如下:new Man('lan').sleep(3).eat('apple').sleep(3).eat('banana');輸出:hello, lan -->(停頓3s) --> lan eat apple -->(停頓3s) --> lan eat banana我的代碼如下:class Man { constructor(name) { this.name = name; this.sayName(); } sayName() { console.log('hi '+this.name); } sleep(time) { var self = this; new Promise((res, rej)=> { setTimeout(()=> { res(''); }, time*1000) }).then(val=> { return self; }); } eat(food) { console.log(this.name + '吃' + food); return this; }}new Man('蘭蘭').sleep(3).eat('餅干').sleep(3).eat('蘋(píng)果');問(wèn)題出在sleep這個(gè)節(jié)點(diǎn)上,盡管用了promise還是不能及時(shí)返回this指針,導(dǎo)致sleep(3).eat('...')時(shí)報(bào)錯(cuò)說(shuō)沒(méi)有eat函數(shù)。請(qǐng)問(wèn)應(yīng)該怎么解決呢?
js鏈?zhǔn)秸{(diào)用問(wèn)題
三國(guó)紛爭(zhēng)
2019-03-13 14:15:13