我的编程空间,编程开发者的网络收藏夹
学习永远不晚

es6异步请求三个状态是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

es6异步请求三个状态是什么

es6异步请求三个状态是什么

本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。

Promise 是异步编程的一种解决方案:

1、主要用于异步计算

2、可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果

3、可以在对象之间传递和操作 promise,帮助我们处理队列

promise 有三个状态:

1、pending[待定]初始状态

2、fulfilled[实现]操作成功

3、rejected[被否决]操作失败

当 promise 状态发生改变,就会触发 then()里的响应函数处理后续步骤; 。

Promise 对象的状态改变,只有两promise 状态一经改变,不会再变种可能: 从 pending 变为 fulfilled

从 pending 变为 rejected。

这两种情况只要发生,状态就凝固了,不会再变了。

1.png

then和catch改变状态的详细情形

看下面一张图

在这里插入图片描述

打印的是resolve状态,触发resolve转态的回调

在这里插入图片描述

看下面一张

在这里插入图片描述

报错则返回promise状态的promise,触发catch的回调,只要有报错,如果后面有
.then都不会执行了只会执行.catch

2.png

再看下面

在这里插入图片描述

没有抛出错误promise对象 ,还是resolve状态

在这里插入图片描述

最后看下面一张

在这里插入图片描述

只要抛出错误的promise对象 就是在reject状态

在这里插入图片描述

用题目加强一下对promise转态变化的理解

输出下面1,2,3的顺序

3.png

题目一: 按顺序打印出 1 3 ,不会打印2因为catch不会被执行(.then的promise是resolve状态 不会执行catch

题目二:返回 1 2 3, 因为在打印1的时候抛出了错误对象返回的是reject状态下的promise,进入到reject状态,但是.catch又是resolve状态下的promise,所以又会执行.then,最终 又返回的是一个resolve状态下面的promise

Promise的all方法

Promise.all方法用于将多个 Promise 实例,包装成一个新的 Promise 实例。

Promise.all(iterator)Promise.all([
    new Promise((resolve,reject)=>{
      setTimeout(()=>{
        resolve('result1')
      },2000)
    }),

    new Promise((resolve,reject)=>{
        setTimeout(()=>{
            resolve('result2')
          },1000)
    })]).then(results =>{
    results[0]
    results[1]
    console.log(results)})

【推荐学习:javascript高级教程】

以上就是es6异步请求三个状态是什么的详细内容,更多请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

es6异步请求三个状态是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

es6异步请求三个状态是什么

es6异步请求三个状态:1、pending(等待状态),不会触发​then和catch;2、fulfill(满足状态),当主动回调了resolve时,就处于该状态,并且会回调​then();3、reject(拒绝状态),会触发后续的catch回调函数。
2023-05-14

es6异步请求有哪些状态

这篇文章主要介绍了es6异步请求有哪些状态的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇es6异步请求有哪些状态文章都会有所收获,下面我们一起来看看吧。es6异步请求三个状态:1、pending(等待状态),不
2023-07-05

Java中Servelt3异步请求方式是什么

本篇内容介绍了“Java中Servelt3异步请求方式是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!用同步请求模型,所有动作都交给同一
2023-06-16

php协程异步请求的方法是什么

PHP协程是一种并发编程的方式,可以通过异步请求来实现。在PHP中,可以使用swoole扩展来实现协程异步请求。下面是一个使用swoole扩展进行协程异步请求的示例:set(['timeout' => 10]);$http->get(
2023-10-27

django异步请求处理的方法是什么

Django中的异步请求处理可以通过以下几种方法实现:1. 使用Django的内置异步任务处理机制:Django提供了一个名为`asyncio`的模块,用于处理异步任务。可以使用`async`和`await`关键字来定义异步函数,然后将其作
2023-09-26

react异步请求数据的方法是什么

在React中,常用的异步请求数据的方法有以下几种:1. 使用fetch API:fetch是现代浏览器提供的一种用于进行网络请求的方法,它返回一个Promise对象,可以使用.then()方法来处理请求的结果。```javascriptf
2023-08-19

Golang 中跟踪第三个 Goroutine 中两个 Goroutine 的完成状态的最佳实践是什么?

Golang 中跟踪第三个 Goroutine 中两个 Goroutine 的完成状态的最佳实践是什么?在 Golang 中,要跟踪两个 Goroutine 的完成状态并在第三个 Goroutine 中处理它们的结果,最佳实践是使用 sy
Golang 中跟踪第三个 Goroutine 中两个 Goroutine 的完成状态的最佳实践是什么?
2024-02-11

编程热搜

目录