粗略瞭解javascript 中的promise

作爲一個不合格的後臺程序員,最後想做一個自己的小程序。於是就開始瞭解 javascript。瞭解到一個promise 的東西。讓我花了好一會兒功夫纔有一個粗略瞭解。

1、 javascript 是單線程運行,promise 雖然異步執行,但是並不新拉一個線程。而是放在一個新的隊列裏。

2、new promise(function(resolve,reject){//code})的時候,code的部分就已經開始執行,如果不想讓它執行就放到一個函數裏,作爲函數定義的一部分。

3、 function(resolve,reject)想當於一個接口,創建promise 的時候,入參就是這個接口的一個對象。(好吧,我是這麼理解的而已)。不同的是,resolve和reject 也是可以執行的函數。規定:只要調用了resolve了,代表成功;只要調用了reject,代表失敗

4、resolve的內部至少會做兩件事兒,1、把所屬的promise狀態,由pending(正在執行)改爲resolved。2、返回入參。返回給誰呢,promise後續還有一個操作叫then,myFirstPromise.then(function(successMessage){},這個successMessage,就是前面的resolve的返回出來的值。

5、reject類似。

6、then返回值也是個promise,如此可以實現鏈式調用,類似類似類似JAVA8 裏的Stream。

其它基礎知識點,網上一大類,就不贅述吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章