亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

怎么解決promise只執行一次的問題

怎么解決promise只執行一次的問題

嗶嗶one 2019-05-12 09:41:30
下面是一個簡單的promise調用newPromise(function(success,){setTimeout(function(){success()},1000);}).then(function(){console.log(1)});可以看到,控制臺能夠輸出1Promise的then方法可以做到回調功能,但是如果是這種情況呢?functiontest(back){setInterval(function(){back()},1000)}test(function(){console.log(1);});//可以不停的輸出1而如果用promise做不到:newPromise(function(success,){setInterval(function(){success()},1000);}).then(function(){console.log(1)});Promise除了then,catch還有隱藏的高級功能么?
查看完整描述

2 回答

?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

Promise只能執行一次這一點是不會改變的但是可以根據不同的業務來進行封裝重復調用你可以每次重新聲明一個Promise來調用
functionp(){
returnnewPromise(resolve=>{
setTimeout(resolve,1000)
}).then(()=>{
console.log(1)
})
}
setInterval(p,1000)
                            
查看完整回答
反對 回復 2019-05-12
?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

題主沒有給出應用的場景,簡單說一下我的理解(也是小白兔階段);首先個人認為題主看待Promise有一點點偏激,并非一切情況都要使用Promise的then,鏈式調用是為了解決異步的可讀性和可維護性的問題,題主當前的情況完全可以return一個立即執行的fn(也就是用不上then關鍵字);其次,Promise是會有一些其他關鍵字,比如all,join,map(這個不確定)等等,是適用不同情況的請求場景;最后,以上只是個人見解,可能因為學習所限會有理解錯誤和偏差,請題主權當參考.
                            
查看完整回答
反對 回復 2019-05-12
  • 2 回答
  • 0 關注
  • 1253 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號