摘要:是一個異步操作返回的對象,用來傳遞異步操作的消息。可以解決的問題解決了回調地獄問題,不會導致難以維護合并多個異步請求,節約時間。使用用來指定對象的狀態改變時要執行的操作成功失敗接收一個數組,數組內是實例,必須都成功呢才表示成功。
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
摘要:類的一個子類,表明斷言的失敗。可用于測試回調函數的參數。使用比較法測試參數與參數是否不全等。等待的完成,如果是一個函數,則立即調用該函數并等待返回的完成,然后檢查是否被。 FEAT FrontEnd Automates Test 前端全自動化測試 序章 文章開頭先引一個知乎上的問答:如何進行前端自動化測試? 我相信做過前端的朋友都有這個疑問。希望這篇文章里你能看到一些別人的測試方法,幫...
摘要:如果你把函數的指針地址作為參數傳遞給另一個函數,當這個指針被用來調用其所指向的函數時,我們就說這是回調函數。回調函數不是由該函數的實現方直接調用,而是在特定的事件或條件發生時由另外的一方調用的,用于對該事件或條件進行響應。 同期異步系列文章推薦談一談javascript異步javascript異步與promisejavascript異步之Promise.all()、Promise.ra...
摘要:說明一點,下面演示的請求或請求,都是采用百度中查詢到的一些接口,可能傳遞的有些參數這個接口并不會解析,但不會影響這個接口的使用。 fetch和XMLHttpRequest 如果看網上的fetch教程,會首先對比XMLHttpRequest和fetch的優劣,然后引出一堆看了很快會忘記的內容(本人記性不好)。因此,我寫一篇關于fetch的文章,為了自己看著方便,畢竟工作中用到的也就是一些...
閱讀 2020·2021-10-09 09:41
閱讀 1596·2021-09-28 09:36
閱讀 1100·2021-09-26 09:55
閱讀 1285·2021-09-10 11:17
閱讀 1141·2021-09-02 09:56
閱讀 2755·2019-08-30 12:58
閱讀 2927·2019-08-29 13:03
閱讀 1847·2019-08-26 13:40