• 现在才知道的关于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里面。

  • 相关阅读:
    直流有刷电机驱动基于STM32F302R8+X-NUCLEO-IHM07M1(二)
    Python多线程的用法
    TCP/IP第一章概述总结
    JDK8升级JDK11最全实践干货来了
    PIC单片机4——定时器方波
    温湿度阈值联网控制
    B2B企业如何打造独立站:从策略到实施的全面指南
    Trie树/字典树的原理及实现[C/C++]
    两种K线形态预示今日伦敦银走向
    Leetcode680:验证回文串 ||
  • 原文地址:https://blog.csdn.net/qq_43733682/article/details/126846327