需要知道的关于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`);
 });

在上面的例子中,通过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. promise有哪些方法?他们的应用场景是什么?(all/race)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值