鍍金池/ 問答/HTML/ promise的問題

promise的問題

剛剛接觸了promise就自己寫了一個demo試試,問一下

為什么我的then只會執(zhí)行一次,怎么使他多次執(zhí)行

    var test = 0;
    var promise = new Promise(resolve => {
        $('.btn').on('click',()=>{
            console.log(test++ +"----------")
            resolve(test)
        })
    })
    promise.then((data)=>{
        console.log(data+"*********")
    })

clipboard.png

回答
編輯回答
幼梔

因為Promise不是這么玩的,一個Promise對象只能被resolve一次,或者被reject一次,就像一個請求(request)你只能回復(fù)(response)一次一樣。你一定要用Promise的話,就只能每次click都搞一個新的Promise然后resolve,但這樣沒有意義。

2017年11月19日 15:12
編輯回答
墨沫
var test = 0;
$('.btn').on('click',()=>{
    console.log(test++ +"----------");
    Promise.resolve(test).then(successfn);
})

function successfn(data){
    console.log(data+"*********");
}
2017年3月24日 15:49