看了promise的用法,一直不明白里面的resolve和reject的用法;
運行了這兩段代碼之后徹底理解了promise的用法;
var p = new Promise(function (resolve, reject) { var timer = setTimeout(function () { console.log('執行操作1'); resolve('這是數據1'); }, 1000); }); p.then(function (data) { console.log(data); console.log('這是成功操作'); });
這里段代碼放在chrome瀏覽器里執行,出現的第一行是Promise{<pending>}
然后再出現
執行操作1
這是數據1
這是成功操作
然后再次輸入p 按回車執行
打印出來p是這樣
Promise{<resolved>}
然后點開看 可以看到控制台提示promiseStatus :resolved 說明promise的狀態已經成為了resolved
如果去掉異步里面的resolve函數調用, 則再次打印出來的狀態仍然是pending; 說明resolve函數是可以改變promise狀態的一個函數;
以上理解來自於博客:https://blog.csdn.net/weixin_41888813/article/details/82882375#commentBox