最近在看《你不知道的javascript中卷》,發(fā)覺作者花了基本一半的篇幅去講異步和promise,覺得有必要總結(jié)一下。
其實本文的目的是想手寫一個Promise的,無奈總結(jié)著總結(jié)著發(fā)覺篇幅有點長,因此只好一分為二,先介紹promise的用法,知道怎么用,我們才知道怎么寫,所以把手寫一個promise的任務(wù)放到了下一篇文章當(dāng)中。
當(dāng)然,網(wǎng)上有很多關(guān)于promise的文章,都可以參考參考,有誤之處,歡迎之處。
什么是Prmoise
promise是ES6新增的一個特征,它已被列入ES6的正式規(guī)范中
Promise對象可以理解為一次執(zhí)行的異步操作,使用promise對象之后可以使用一種鏈?zhǔn)秸{(diào)用的方式來組織代碼;讓代碼更加的直觀。也就是說,有了Promise對象,就可以將異步操作以同步的操作的流程表達出來,避免了層層嵌套的回調(diào)函數(shù)。
示例:未使用promise,回調(diào)必須層層嵌套
$.ajax(url1, function(data1){ // do something... $.ajax(url2, function(data2){ // do something... $.ajax(url3, function(data3){ // do something... done(data3); // 返回數(shù)據(jù) }) }); });
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26