javascript - 如何知道promise的catch沒寫?
phpcn_u1582
phpcn_u1582 2017-05-19 10:41:01
0
1
530
function p(){
    return new Promise((resolve, reject) => {
        reject();
    });
}

p().then(()=>{
    console.log(1);
})

重新編輯了下問題, 就是想問p()的.catch()我不寫, 函數p內部要如何寫瀏覽器才能不報錯

#
phpcn_u1582
phpcn_u1582

全部回覆(1)
Ty80

兩個問題:
1.return 不是 retrun
2.new Promise後需要加一個括號

故原代碼如下

var x = 10;
function p() {
    return new Promise((resolve, reject)=>{
        if(1 < x) {
            resolve();
        }
        if(5 < x) {
            reject();
        }
    });
}
p().then(() => {
    alert(1)
})

這樣呼叫不會出問題, 另外1即使是reject()執行了,promise的拋錯也是promise的事,與P函數無關,promise的拋錯只能在promise後面加catch語句捕獲.由於p函數返回了new出來的promise,故在p函數執行結果後面加catch語句即可.
推薦看下這篇文章: Promise使用手冊

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板