我認為promise相當於乙個容器,把一些發生未完成的事件儲存在promise容器中,在容器中發生完,
在容器中的事件都繫結著三個可能存在的狀態,事件發生的結果影響著這三種的狀態,也只有非同步操作結果可以決定這三種狀態,其他任何操作都無法改變這種操作,一旦這種狀態改變,就不會再發生變化了,任何時候都可以獲得這種狀態的結果,
狀態如下:
pending 未發生完成的狀態
resolved 已完成的狀態
rejected 已失敗的狀態
狀態的改變只有兩種可能:
1) pending==>resolved
2) pending==>rejected
**如下:
let p=new promise(function(resolve,reject)else
});
p.then(function(res),function(err));
Promise解決非同步載入的問題
1.首先的明白什麼是同步,什麼是非同步 同步載入 程式按順序執行,在上乙個程式執行完之前,不會執行其他的程式,叫單執行緒 非同步載入 例如 a程式執行的同時b程式也在執行 問題 我再用vue框架的時候遇到乙個問題,頁面初始化開始就要載入兩個方法,而這兩個方法其中的乙個需要用到另乙個的方法請求到的資料...
js的非同步載入及promise的三種狀態
恢復內容開始 我們平時經常使用的就是這種同步載入的形式 同步模式,又稱阻塞模式,會阻止瀏覽器的後續處理,停止了後續的解析,因此停止了後續的檔案載入 如影象 渲染 執行。js 之所以要同步執行,是因為 js 中可能有輸出 document 內容 修改dom 重定向等行為,所以預設同步執行才是安全的。以...
promise的非同步鏈式呼叫
場景 淘公尺 乾淨的公尺下鍋 蒸公尺飯 吃公尺飯 這幾個步驟是乙個接著乙個執行,也就是只有前面的做完後,才會去做後面的.並且每一步都需要用一部分時間去執行.1 function deal task,time time 8 9 1011 執行後會每隔一秒顯示 淘公尺 公尺下鍋 蒸公尺飯 吃公尺飯 12...