• 现在才知道的关于promise的事情


    一些promise的知识,现在是否很清楚呢?

    1. promise有几种状态
    2. promise的状态是否可以改变?
    3. promise如何解决回调地狱?
    4. promise有哪些方法?他们的应用场景是什么?(all/race)
    5. 如何让promise顺序执行?(async/await)
      如果上面的问题,你是比较清楚的,那么你可以去学习其他的知识喽,要是不清楚的话,可以和我一起学习一下!
      promise是什么/
      实例化一个对象是需要传参数的,promise的要求就是传一个回调函数。
    • const promise1=new Promise((resolve,rejecct)=>{});
      打印出来就是:pending
    • const promise2=new Promise((resolve,rejecct)=>resolve());
      要是回调函数的话,打印出来就是resolved
    • const promise3=new Promise((resolve,rejecct)=>reject());
      打印出来的结果就是:rejected
      下面是一个例子
    const promise1=new Promise((resolve,rejecct)=>{})const promise2=new Promise((resolve,rejecct)=>resolve(1));
    const promise3=new Promise((resolve,rejecct)=>reject(2));
    
    //在做2和3 的时候,我们可以用特定的方法
    promise3
      .then(v=>{
        console.log('then');
        console.log(v,`v`);
     })
      .catch(v=>{
        console.log('catch');
        console.log(v,`v`);
     });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    在上面的例子中,通过resolve可以进入.then方法,通过reject就会进入到catch进行捕获。

    1. promise有几种状态
      三种
    2. promise的状态是否可以改变?
      是会变得,不过从pending变成resolved或者reject之后就不会再发生变化。
    3. promise如何解决回调地狱?
      then里面可以return promise,来防止回调地狱
      例子
    request1()
     .then(v=>{
       console.log('第一层then');
       console.log(v,`v`);
       return request2();
     })
     .then(v=>{
        console.log('第二层then');
        console.log(v,`v`);
        return request2();
     })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    1. promise有哪些方法?他们的应用场景是什么?(all/race)

    2. 如何让promise顺序执行?(async/await)
      async和await是成对出现的,await必须在async的function里面。

  • 相关阅读:
    期货开户公司想恶意滑点是做不到的
    13-Django-基础篇-HttpResponse对象
    外卖项目05---套餐管理业务开发
    4核8G服务器并发数多少?性能如何?
    HCIA-MSTP替代技术之链路捆绑(LACP模式)
    LeetCode 2678. 老人的数目【数组】简单
    php 获取音频时长等信息
    Java如何连接数据库
    字体压缩神器font-spider的使用
    【毕设教程】单片机RFID模块的使用 - 物联网 嵌入式 毕业设计 stm32
  • 原文地址:https://blog.csdn.net/qq_43733682/article/details/126846327