成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

認(rèn)識(shí)并使用Promise

gitmilk / 2639人閱讀

摘要:是一個(gè)異步操作返回的對(duì)象,用來(lái)傳遞異步操作的消息??梢越鉀Q的問(wèn)題解決了回調(diào)地獄問(wèn)題,不會(huì)導(dǎo)致難以維護(hù)合并多個(gè)異步請(qǐng)求,節(jié)約時(shí)間。使用用來(lái)指定對(duì)象的狀態(tài)改變時(shí)要執(zhí)行的操作成功失敗接收一個(gè)數(shù)組,數(shù)組內(nèi)是實(shí)例,必須都成功呢才表示成功。

Promise 是一個(gè)異步操作返回的對(duì)象,用來(lái)傳遞異步操作的消息。 可以解決的問(wèn)題:

解決了回調(diào)地獄問(wèn)題,不會(huì)導(dǎo)致難以維護(hù);

合并多個(gè)異步請(qǐng)求,節(jié)約時(shí)間。

Promise 有三種狀態(tài):

Pending Promise 對(duì)象實(shí)例創(chuàng)建時(shí)的初始態(tài);

Fulfilled 成功時(shí)的狀態(tài);

Rejected 失敗時(shí)的狀態(tài)。

使用 Promise: Promise.then():用來(lái)指定 Promise 對(duì)象的狀態(tài)改變時(shí)要執(zhí)行的操作
let promise = new Promise(function (resolve, reject) {
    resolve("成功");
    //reject("失敗");
})

promise.then(function (data) {
    console.log("data: ", data);
},function (err) {
    console.log("err: ", err);
})
Promise.all():接收一個(gè)數(shù)組,數(shù)組內(nèi)是 Promise 實(shí)例,必須都成功呢才表示成功。 Promise.race():接收一個(gè)數(shù)組,數(shù)組內(nèi)是 Promise 實(shí)例,最早返回的對(duì)象成功了,就變?yōu)槌晒B(tài),如縣失敗了,就改變狀態(tài)為失敗態(tài)。
let fs = require("fs");
function read(url){
    return new Promise(function(resolve, reject){
        fs.readFile(url,"utf8",function(err, data){
            if(err) reject( err);
            resolve( data);
        })
    })
}

Promise.all([read("1.txt"), read("2.txt")]).then(function (data) {
    console.log(data);
},function (err) {
    console.log("err: ", err);
})

Promise.race([read("1.txt"), read("2.txt")]).then(function (data) {
    console.log(data);
},function (err) {
    console.log("err: ", err);
})
Promise.resolve():返回一個(gè) Promise 實(shí)例,這個(gè) Promise 實(shí)例處于 resolve 狀態(tài)。
Promise.resolve([1,2,3]).then(function(data){
    console.log(data);
});
輸出:[ 1, 2, 3 ]
Promise.reject():返回一個(gè) Promise 實(shí)例,這個(gè) Promise 實(shí)例處于 reject 狀態(tài)。
Promise.reject([1,2,3]).then(null,function(err){
    console.log("err",err)
});
輸出:err [ 1, 2, 3 ]

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/93479.html

相關(guān)文章

  • 我的前端集成測(cè)試(一)- 認(rèn)識(shí)node的assert模塊

    摘要:類的一個(gè)子類,表明斷言的失敗??捎糜跍y(cè)試回調(diào)函數(shù)的參數(shù)。使用比較法測(cè)試參數(shù)與參數(shù)是否不全等。等待的完成,如果是一個(gè)函數(shù),則立即調(diào)用該函數(shù)并等待返回的完成,然后檢查是否被。 FEAT FrontEnd Automates Test 前端全自動(dòng)化測(cè)試 序章 文章開(kāi)頭先引一個(gè)知乎上的問(wèn)答:如何進(jìn)行前端自動(dòng)化測(cè)試? 我相信做過(guò)前端的朋友都有這個(gè)疑問(wèn)。希望這篇文章里你能看到一些別人的測(cè)試方法,幫...

    Jinkey 評(píng)論0 收藏0
  • javascript異步中的回調(diào)

    摘要:如果你把函數(shù)的指針地址作為參數(shù)傳遞給另一個(gè)函數(shù),當(dāng)這個(gè)指針被用來(lái)調(diào)用其所指向的函數(shù)時(shí),我們就說(shuō)這是回調(diào)函數(shù)。回調(diào)函數(shù)不是由該函數(shù)的實(shí)現(xiàn)方直接調(diào)用,而是在特定的事件或條件發(fā)生時(shí)由另外的一方調(diào)用的,用于對(duì)該事件或條件進(jìn)行響應(yīng)。 同期異步系列文章推薦談一談javascript異步j(luò)avascript異步與promisejavascript異步之Promise.all()、Promise.ra...

    WalkerXu 評(píng)論0 收藏0
  • Promise對(duì)象

    摘要:對(duì)比回調(diào)函數(shù)和暫時(shí)不管是什么,先看一下下面的代碼,看一看的好處?;卣{(diào)函數(shù)執(zhí)行一次首先,定義一個(gè)回調(diào)函數(shù),調(diào)用一次,看看這個(gè)代碼的寫法。上面的代碼中,在方法中需要傳遞兩個(gè)回調(diào)函數(shù),這樣看著會(huì)有點(diǎn)亂。 對(duì)比回調(diào)函數(shù)和Promise 暫時(shí)不管Promise是什么,先看一下下面的代碼,看一看Promise的好處。需要特別說(shuō)明的是,在這個(gè)對(duì)比的中,Promise和回調(diào)都沒(méi)有考慮存在異常的情況。 ...

    ?。琛?/span> 評(píng)論0 收藏0
  • 用co玩轉(zhuǎn)異步

    摘要:否則不會(huì)得到異步之后的值對(duì)象的值,并沒(méi)有在中進(jìn)行處理,而是直接作為返回值返回到對(duì)象外面了這就是的魔法。當(dāng)生成器函數(shù)內(nèi)的邏輯執(zhí)行完畢且沒(méi)有錯(cuò)誤之后,這個(gè)對(duì)象返回值變?yōu)闋顟B(tài),且將生成器的返回值作為出來(lái)的值。 之前我在關(guān)于Promise的文章中提到了co這個(gè)庫(kù)。在這篇文章里,我將寫一寫自己對(duì)它的認(rèn)識(shí)。 Trust me,用了co庫(kù),你不想用別的,來(lái)它半斤異步調(diào)用你一口能吃仨。 但是我對(duì)Tj大...

    microelec 評(píng)論0 收藏0
  • fetch,終于認(rèn)識(shí)

    摘要:說(shuō)明一點(diǎn),下面演示的請(qǐng)求或請(qǐng)求,都是采用百度中查詢到的一些接口,可能傳遞的有些參數(shù)這個(gè)接口并不會(huì)解析,但不會(huì)影響這個(gè)接口的使用。 fetch和XMLHttpRequest 如果看網(wǎng)上的fetch教程,會(huì)首先對(duì)比XMLHttpRequest和fetch的優(yōu)劣,然后引出一堆看了很快會(huì)忘記的內(nèi)容(本人記性不好)。因此,我寫一篇關(guān)于fetch的文章,為了自己看著方便,畢竟工作中用到的也就是一些...

    wzyplus 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<