首先,我們得理解乙個小學題,
燒 水 煮 面
我們是先等水燒開完之後( fulfilled ),開始準備材料,還是在水燒開途中( pending ),準備材料呢
其實前者就是 同步問題 ,而 後者就是 非同步問題
我們的 js 就是非同步處理問題
( 當然 這裡由於我技術有限,我就不深入討論了 )
理解到了這 就可以看這個例子了 再加深一下 js 非同步的理解 ( 直接放到控制台 )
1 settimeout( ()=> console.log( "第乙個" ),1000);我們的輸出確實這個2 console.log("第二個");34
//undefind 是因為 console.log 沒有返回值
那麼 我們如果要實現順次執行應該怎麼辦呢
promise 就是乙個方法,先看一下解決的**
第乙個是處理 resolve 的方法
11 (data) =>,
15//
這裡第二個 可以寫處理 reject 的方法
16 )
這裡你就可能會發現,欸? 為什麼並不是那個效果呢? 而且你這寫的啥呀
其實 裡面還是乙個非同步處理的東西 待會再解決,先康康這個的結構
( 可能還是講不清楚 自己實驗一下)
簡單來說就是這麼乙個結構
( 看懂了之後可以實踐一下 )
可能到這裡你就會想到我之前的錯誤例項,其實那裡面也有非同步處理
所以得改一下**
第乙個是處理 resolve 的方法
12 (data) =>,
16//
這裡第二個 可以寫處理 reject 的方法
17 )
結果
簡單的介紹就到這裡
可以看看這位大佬的啟發一下
AngularJS學習筆記十 Promise
angularjs提供了對promise機制的支援,主要通過內建的 q服務實現。promise物件具有then catch finally三個方法,每個方法返回乙個promise物件。這為鏈式呼叫提供了支撐。在angularjs應用中,主要通過xhr和jsonp兩種方式向伺服器端傳送http請求。x...
AngularJS中處理多個promise
在使用angularjs中處理promise的時候,有時會碰到需要處理多個promise的情況。最簡單的處理就是每個promise都then。如下 q.timeout math.random 1000 timeout function math.random 1000 timeout functio...
angularJS中 q服務之promise
step1 function value1 q.fcall promisedstep1 then function parms then function key1 then function key2 then function key3 catch function error done 可讀性...