#每天一个知识点#
promise、promise.all、promise.race、promise.allSettled用法总结:
promise用于处理异步操作,有效的解决回调地狱的问题。它有初始(pending)、成功(fulfilled)和失败(rejected)三种状态。只有异步操作的结果可以改变这个状态,promise对象的状态改变只有从初始变成成功或者失败两种可能,而且状态一经改变就不会再变。
promise.all可以将多个promise实例包装成一个新的promise实例。所有结果都成功时会返回一个按顺序的结果数组。不管是promise还是promise.all只要遇到失败时,promise的状态都会变成rejected,直接走.catch,不会再走.then。
promise.race就是所有的异步操作不管成功失败,哪个先执行完就返回那个的值。
promise.allSettled 是为了解决promise.all其中有失败不返回其他promise结果提出的第四阶段草案,部分浏览器不支持。所以它的最大特点就是无论请求对错最终都会返回一个数组对象到.then中,并且返回的数据中标识了错误跟正确数据的区别。
promise、promise.all、promise.race、promise.allSettled用法总结:
promise用于处理异步操作,有效的解决回调地狱的问题。它有初始(pending)、成功(fulfilled)和失败(rejected)三种状态。只有异步操作的结果可以改变这个状态,promise对象的状态改变只有从初始变成成功或者失败两种可能,而且状态一经改变就不会再变。
promise.all可以将多个promise实例包装成一个新的promise实例。所有结果都成功时会返回一个按顺序的结果数组。不管是promise还是promise.all只要遇到失败时,promise的状态都会变成rejected,直接走.catch,不会再走.then。
promise.race就是所有的异步操作不管成功失败,哪个先执行完就返回那个的值。
promise.allSettled 是为了解决promise.all其中有失败不返回其他promise结果提出的第四阶段草案,部分浏览器不支持。所以它的最大特点就是无论请求对错最终都会返回一个数组对象到.then中,并且返回的数据中标识了错误跟正确数据的区别。
展开
评论
点赞
![[微笑]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_1.7d9f699.png)