国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

認識并使用Promise

gitmilk / 2633人閱讀

摘要:是一個異步操作返回的對象,用來傳遞異步操作的消息。可以解決的問題解決了回調地獄問題,不會導致難以維護合并多個異步請求,節約時間。使用用來指定對象的狀態改變時要執行的操作成功失敗接收一個數組,數組內是實例,必須都成功呢才表示成功。

Promise 是一個異步操作返回的對象,用來傳遞異步操作的消息。 可以解決的問題:

解決了回調地獄問題,不會導致難以維護;

合并多個異步請求,節約時間。

Promise 有三種狀態:

Pending Promise 對象實例創建時的初始態;

Fulfilled 成功時的狀態;

Rejected 失敗時的狀態。

使用 Promise: Promise.then():用來指定 Promise 對象的狀態改變時要執行的操作
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():接收一個數組,數組內是 Promise 實例,必須都成功呢才表示成功。 Promise.race():接收一個數組,數組內是 Promise 實例,最早返回的對象成功了,就變為成功態,如縣失敗了,就改變狀態為失敗態。
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():返回一個 Promise 實例,這個 Promise 實例處于 resolve 狀態。
Promise.resolve([1,2,3]).then(function(data){
    console.log(data);
});
輸出:[ 1, 2, 3 ]
Promise.reject():返回一個 Promise 實例,這個 Promise 實例處于 reject 狀態。
Promise.reject([1,2,3]).then(null,function(err){
    console.log("err",err)
});
輸出:err [ 1, 2, 3 ]

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/93479.html

相關文章

  • 我的前端集成測試(一)- 認識node的assert模塊

    摘要:類的一個子類,表明斷言的失敗。可用于測試回調函數的參數。使用比較法測試參數與參數是否不全等。等待的完成,如果是一個函數,則立即調用該函數并等待返回的完成,然后檢查是否被。 FEAT FrontEnd Automates Test 前端全自動化測試 序章 文章開頭先引一個知乎上的問答:如何進行前端自動化測試? 我相信做過前端的朋友都有這個疑問。希望這篇文章里你能看到一些別人的測試方法,幫...

    Jinkey 評論0 收藏0
  • javascript異步中的回調

    摘要:如果你把函數的指針地址作為參數傳遞給另一個函數,當這個指針被用來調用其所指向的函數時,我們就說這是回調函數。回調函數不是由該函數的實現方直接調用,而是在特定的事件或條件發生時由另外的一方調用的,用于對該事件或條件進行響應。 同期異步系列文章推薦談一談javascript異步javascript異步與promisejavascript異步之Promise.all()、Promise.ra...

    WalkerXu 評論0 收藏0
  • Promise對象

    摘要:對比回調函數和暫時不管是什么,先看一下下面的代碼,看一看的好處。回調函數執行一次首先,定義一個回調函數,調用一次,看看這個代碼的寫法。上面的代碼中,在方法中需要傳遞兩個回調函數,這樣看著會有點亂。 對比回調函數和Promise 暫時不管Promise是什么,先看一下下面的代碼,看一看Promise的好處。需要特別說明的是,在這個對比的中,Promise和回調都沒有考慮存在異常的情況。 ...

    琛h。 評論0 收藏0
  • 用co玩轉異步

    摘要:否則不會得到異步之后的值對象的值,并沒有在中進行處理,而是直接作為返回值返回到對象外面了這就是的魔法。當生成器函數內的邏輯執行完畢且沒有錯誤之后,這個對象返回值變為狀態,且將生成器的返回值作為出來的值。 之前我在關于Promise的文章中提到了co這個庫。在這篇文章里,我將寫一寫自己對它的認識。 Trust me,用了co庫,你不想用別的,來它半斤異步調用你一口能吃仨。 但是我對Tj大...

    microelec 評論0 收藏0
  • fetch,終于認識

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

    wzyplus 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<