Promise對象

1、含義
Promise是異步編程的一種解決方案,比傳統(tǒng)的解決方案--回調(diào)函數(shù)和事件--更加合理,解決了回調(diào)地獄的的問題(promise已經(jīng)寫進ES6語言標準中,js原生提供了Promise對象)
2、對象狀態(tài)不受外界影響,只要狀態(tài)改變就不會再次改變,共有三種狀態(tài)(pending--進行中,fulfilled--已成功,rejected--已失?。?,
狀態(tài)只會pending--fulfilled或者pending--rejected其中的一種,狀態(tài)一旦變化,不會更改
3、promise的缺點
promise一旦新建就會立即執(zhí)行,無法中途取消,第二如不設置回調(diào)函數(shù),Promise內(nèi)部拋出的錯誤,不會反應到外部,當處于pending狀態(tài)時,無法得知目前進展到哪一階段。
2、基本用法
a、Promise對象其實是一個構(gòu)造函數(shù),用來生成Promise實例

// new Promise 實例
function timeout(time){
  return new Promise((resolve, reject)=>{
    setTimeout(resolve, time, "over");
  })   
  
}
timeout(1000).then((value)=>{
  console.log(value);
});
// 注意:setTimeout(function, time, param1, param2...)的參數(shù),1、(function)延時執(zhí)行的操作(function)。
// 2、延時的時間(time)。
// 3、param1、param2...這是function的參數(shù),但是在timeout函數(shù)中的setTimeout中resovle只返回第一個param1 

來源自http://es6.ruanyifeng.com/#docs/promise#Promise-try
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容