摘要:是一个异步操作返回的对象,用来传递异步操作的消息。可以解决的问题解决了回调地狱问题,不会导致难以维护合并多个异步请求,节约时间。使用用来指定对象的状态改变时要执行的操作成功失败接收一个数组,数组内是实例,必须都成功呢才表示成功。
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 ]
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/93479.html
摘要:类的一个子类,表明断言的失败。可用于测试回调函数的参数。使用比较法测试参数与参数是否不全等。等待的完成,如果是一个函数,则立即调用该函数并等待返回的完成,然后检查是否被。 FEAT FrontEnd Automates Test 前端全自动化测试 序章 文章开头先引一个知乎上的问答:如何进行前端自动化测试? 我相信做过前端的朋友都有这个疑问。希望这篇文章里你能看到一些别人的测试方法,帮...
摘要:如果你把函数的指针地址作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。 同期异步系列文章推荐谈一谈javascript异步javascript异步与promisejavascript异步之Promise.all()、Promise.ra...
摘要:说明一点,下面演示的请求或请求,都是采用百度中查询到的一些接口,可能传递的有些参数这个接口并不会解析,但不会影响这个接口的使用。 fetch和XMLHttpRequest 如果看网上的fetch教程,会首先对比XMLHttpRequest和fetch的优劣,然后引出一堆看了很快会忘记的内容(本人记性不好)。因此,我写一篇关于fetch的文章,为了自己看着方便,毕竟工作中用到的也就是一些...
阅读 2019·2021-10-09 09:41
阅读 1596·2021-09-28 09:36
阅读 1100·2021-09-26 09:55
阅读 1285·2021-09-10 11:17
阅读 1140·2021-09-02 09:56
阅读 2755·2019-08-30 12:58
阅读 2927·2019-08-29 13:03
阅读 1847·2019-08-26 13:40