gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

promise是es6的嗎

是的。promise是ECMAScript 6新增的引用類型,表示一個異步操作的最終完成或者失敗。promise是解決異步編程調用代碼邏輯編寫過于復雜的問題的,當網絡請求非常復雜時,就會出現回調地獄,這樣如果將這些代碼寫在一起就會看起來很復雜,且不利于閱讀,如果用promise的話就會讓代碼看起來更加美觀優雅。

promise是es6的嗎

前端(vue)入門到精通課程:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調試工具:點擊使用

本教程操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。

ECMAScript 6 增加了對 Promises/A+ 規范的完善支持,即 Promise 類型。一經推出,Promise 就大受歡迎,成為了主導性的異步編程機制。所有現代瀏覽器都支持 ES6 期約,很多其他瀏覽器 API 也以期約為基礎。

Promise 是 ECMAScript 6 新增的引用類型,表示一個異步操作的最終完成或者失敗。

一、promise函數是干什么的

promise函數是解決異步編程調用代碼邏輯編寫過于復雜的問題的,當網絡請求非常復雜時,就會出現回調地獄,這樣如果將這些代碼寫在一起就會看起來很復雜,且不利于閱讀,如果用promise的話就會讓代碼看起來更加美觀優雅

二、Promise三種狀態

首先, 當我們開發中有異步操作時, 就可以給異步操作包裝一個Promise
異步操作之后會有三種狀態

pending:等待狀態,比如正在進行網絡請求,或者定時器沒有到時間。 fulfill:滿足狀態,當我們主動回調了resolve時,就處于該狀態,并且會回調.then() reject:拒絕狀態,當我們主動回調了reject時,就處于該狀態,并且會回調.catch()
登錄后復制

三、實現

1,then和catch

1.出于未決狀態的函數是同步的 會立即執行
2.then和catch是異步的 就算promise對象里面沒有異步操作 讓then方法或者catch立即執行 那么 這里兩個方法或被加入到事件隊列中等待執行

//參數 函數(resolve,reject)     new Promise((resolve, reject) => {         setTimeout(() => {             //請求成功的時候調用resolve             resolve('22222')             //請求失敗的時候調用reject             reject('error message')         }, 1000)     }).then((data) => { //請求成功處理函數         console.log(data)     }).catch((err) => { //請求失敗處理函數         console.log(err)     })
登錄后復制

2.確定狀態

1、在未決狀態的處理函數中 如果發生未捕獲的錯誤呀 那么狀態就會有pending 直接變成 rejected狀態 并且可以被catach捕獲

var pro = new Promise((resolve, reject) => {             throw new Error("123");              // try{             //     throw new Error("123");              // } catch(e) {}              resolve(12);             reject(34);         })          // pro.then(data => {         //     console.log(data);         // }, err => {         //     console.log(err);         // })           console.log(pro);                   pro.then(data => {             console.log(data);                      })          pro.catch(data => {             console.log(data);                      })
登錄后復制

3.async和await

1.使用Promise:

const makeRequest = () =>         getJSON().then(data => {             console.log(data)             return "done"         })      makeRequest()
登錄后復制

2.使用Async:

async和await 是ES7提出來的
async作用:簡化函數返回值中promise對象的創建
一般情況下, async寫在函數的最前面,被修飾的函數的返回值 ,一定是promise對象。只有在某些特殊情況下 才會手動返回一個promise對象。

作用:和promise一樣 解決異步問題 但是他的好處在于 讓異步代碼和同步的一樣!!
注意點 : 同步方法我們拿到結果 是通過返回值,異步方法拿到結果,是靠回調函數。

async 和await使用的基本語法 :

  • 就是在普通函數前面加一個async 調用跟普通函數一樣

  • async出現使用 一般都要和await配合使用

  • await后面接的就是一個promise對象 await一定是在異步函數中使用的

const makeRequest = async () => {  // await getJSON()表示console.log會等到getJSON的promise成功reosolve之后再執行。         console.log(await getJSON)         return "done"     }      makeRequest()
登錄后復制

3.區別

1.函數前面多了一個aync關鍵字。await關鍵字只能用在aync定義的函數內。async函數會隱式地返回一個promise,該promise的reosolve值就是函數return的值。(示例中reosolve值就是字符串”done”)
2.我們不能在最外層代碼中使用await,因為不在async函數內。

四.promise方法

var r1 = new Promise((resolve,reject) => {             setTimeout(function(){                 resolve("我是第一個請求");             },1000)         })         var r2 = new Promise((resolve,reject) => {             setTimeout(function(){                 resolve("我是第二個請求");             },3000)         })         var r3 = new Promise((resolve,reject) => {             setTimeout(function(){                 resolve("我是第三個請求");             },4000)         })         var r4 = new Promise((resolve,reject) => {             setTimeout(function(){                 resolve("我是第四個請求");             },500)         })
登錄后復制

1.all方法

有時候我們需要等待兩個或者多個請求都成功返回了再進行下一步操作,promise 的all方法是等所有的異步請求完成之后在進行下一步回調

Promise.all([r1,r2,r3,r4]).then(data => {             console.log(data);                      })
登錄后復制

2.race方法

請求同時發送出去 誰先回來 就是用誰的數據。

Promise.race([r1,r2,r3,r4]).then(data => {            console.log(data);                    })
登錄后復制

五.promise封裝ajax案例

<script>        function toData(obj) {                                // 聲明一個數組 來裝每一組的數據                var arr = [];                if(obj !== null) {                    for(var key in obj) {                        let str = key + "=" + obj[key];                        arr.push(str);                    }                    return arr.join("&");                }        }         function ajax(obj) {            return new Promise(function(resolve, reject) {                // 給ajax所需要的參數設置默認值                obj.type = obj.type || "get";                obj.async = obj.async|| "true";                obj.dataType = obj.dataType || "json";                obj.data = obj.data || null;                 // 開始發送ajax請求                var xhr;                 if(window.XMLHttpRequest) {                    xhr = new XMLHttpRequest();                } else {                    // IE低版本的瀏覽器                    xhr = new ActiveXObject("Microsoft.XMLHttp");                }                 // 判斷是post請求 還是get請求                if(obj.type === "post") {                    xhr.open(obj.type, obj.url, obj.async);                    // 設置請求頭                    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                     xhr.send(toData(obj.data));                 } else {                    var url = obj.url + "?" + toData(obj.data);                    xhr.open(obj.type, url, obj.async);                    xhr.send();                }                 // 處理響應體                xhr.onreadystatechange = function() {                     if(xhr.readyState == 4) {                        if(xhr.status >= 200 && xhr.status < 300 || xhr.status == 304) {                            resolve(JSON.parse(xhr.responseText));                         } else {                            reject(xhr.status);                        }                    }                }            })        }         ajax({            url : "./data.php",            data : {                name : "jack",                age : 16            }        }).then(res => {            console.log(res);                    }, err => {            console.log(err);                    })        </script>
登錄后復制

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
六月婷婷激情网| 欧美日韩dvd| 男人添女荫道口图片| 亚洲一级免费在线观看| 很污的网站在线观看| 男生操女生视频在线观看 | 亚洲精品乱码久久久久久自慰| 三年中国中文在线观看免费播放| 免费av网址在线| 人体内射精一区二区三区| 超碰91在线播放| 91看片破解版| 日韩欧美国产片| 日本xxxx黄色| 国产v亚洲v天堂无码久久久| 免费成人午夜视频| 日本福利视频在线观看| 日本女人高潮视频| 四虎成人在线播放| 日本黄色播放器| 亚洲色图偷拍视频| 亚洲精品20p| 色婷婷.com| 红桃视频 国产| 国产xxxxhd| 日韩不卡一二区| 国产成人生活片| 国产亚洲精品久久久久久久| 日韩欧美猛交xxxxx无码| 黄色录像特级片| 精品人妻少妇一区二区| 很污的网站在线观看| 国产主播自拍av| 日韩少妇内射免费播放| 日韩视频第二页| 国产一区二区在线免费播放| 一本岛在线视频| 成 人 黄 色 小说网站 s色| 亚洲午夜精品一区| 中文字幕乱码免费| 人妻少妇精品久久| 国产精品igao| 日本一二三区在线| 999一区二区三区| 久草青青在线观看| aaa一级黄色片| 人人妻人人澡人人爽欧美一区 | 国产女人18毛片| 精品国产av无码一区二区三区 | 日本a级片免费观看| 免费看涩涩视频| 中文字幕制服丝袜在线| xxxx18hd亚洲hd捆绑| 欧美视频第三页| 日韩a一级欧美一级| 91丨porny丨探花| 亚欧在线免费观看| 日韩视频一二三| 日韩无套无码精品| 日本美女爱爱视频| 久久人妻精品白浆国产| 中文字幕第三区| 成人一级片网站| 久久99国产精品一区| 欧美性大战久久久久xxx | 中文字幕在线视频一区二区| 欧美 日韩 亚洲 一区| 精品999在线| 免费在线看黄色片| 色婷婷成人在线| 久久久久久久久久网| 国产九九九视频| 久草综合在线观看| 无码中文字幕色专区| 北条麻妃亚洲一区| 波多野结衣天堂| 国产3p露脸普通话对白| 少妇高潮流白浆| 一区二区在线播放视频| 免费av手机在线观看| 神马午夜伦理影院| 亚洲天堂2018av| 成人av一级片| 久操网在线观看| 久久综合亚洲精品| 中文字幕55页| 亚洲怡红院在线| 九九九在线观看视频| 免费一级特黄特色毛片久久看| 日韩最新中文字幕| 日韩欧美理论片| 无需播放器的av| 91视频免费版污| 日本xxxxxxx免费视频| 成人在线免费观看av| 黄页免费在线观看视频| 99久久免费观看| 日韩视频 中文字幕| av电影一区二区三区| www.欧美激情.com| 亚洲天堂av一区二区三区| 爱豆国产剧免费观看大全剧苏畅| 国产一线二线三线在线观看| 国产v亚洲v天堂无码久久久| 国产91对白刺激露脸在线观看| 妞干网在线播放| 17c丨国产丨精品视频| 欧美国产日韩激情| 成年人网站免费视频| 你真棒插曲来救救我在线观看| 97视频在线免费| 成人在线观看你懂的| 免费观看日韩毛片| 精品久久久久av| 麻豆一区二区三区视频| 国内外成人免费在线视频| 激情黄色小视频| 制服丝袜中文字幕第一页| 污视频在线观看免费网站| 黄色三级视频在线播放| 蜜桃视频一区二区在线观看| 国产www免费| 日韩手机在线观看视频| 污视频网址在线观看| 亚洲美女自拍偷拍| 99久久国产综合精品五月天喷水| 欧美亚洲精品一区二区| 冲田杏梨av在线| 中文字幕色网站| 国产精彩视频一区二区| 中文字幕第21页| 性欧美18一19内谢| 国产 日韩 亚洲 欧美| 午夜免费精品视频| 麻豆映画在线观看| 日本三级免费网站| 亚洲精品中文字幕乱码无线| 91动漫在线看| 69久久久久久| 99视频精品全部免费看| av视屏在线播放| 色哟哟免费网站| 青青青国产在线视频| 香蕉视频色在线观看| 免费在线观看视频a| www.国产视频.com| 青草青青在线视频| jizzzz日本| 黄色激情在线视频| 欧美激情国内自拍| 日韩av片在线看| 国产大尺度在线观看| 久久国产乱子伦免费精品| 欧美另类videosbestsex日本| 春日野结衣av| 精品免费久久久久久久| www.色就是色| 国产综合av在线| 男同互操gay射视频在线看| 五月婷婷深爱五月| 国产午夜福利在线播放| 日韩国产精品毛片| 亚洲色图 在线视频| av7777777| www.欧美黄色| 手机在线免费毛片| 手机视频在线观看| 青青青在线播放| 99热自拍偷拍| 久久亚洲精品无码va白人极品| 性生生活大片免费看视频| 国产最新免费视频| 成人一对一视频| 人人妻人人澡人人爽欧美一区| 1314成人网| 性生活免费在线观看| 天美星空大象mv在线观看视频| 亚洲熟妇无码另类久久久| 国产片侵犯亲女视频播放| 麻豆中文字幕在线观看| 911av视频| 五月婷婷之婷婷| 五月天婷婷影视| 国产成年人视频网站| 视频二区在线播放| 另类小说第一页| 中文字幕第88页| 亚洲精品视频三区| 日本77777| 国产91porn| 日韩 欧美 视频| 国产特级淫片高清视频| 男人操女人免费软件| 人妻精品无码一区二区三区| 成人久久久久久久久| 日韩欧美在线免费观看视频| 三级视频中文字幕| 在线一区二区不卡| www国产免费| 亚洲国产精品成人天堂|