zoukankan      html  css  js  c++  java
  • Promise对象如何在.then()中进行resolve和reject

    问题描述

    Promise().then()既然返回的是一个Promise对象, 那么then()中应该有类似于Promise((resolve, reject)=>{})中的resolve和reject的参数,以便向后传递继续(when resolved)或者中断(when rejected)的信息. 但是, then()中只接受两个函数:handleFulfilled,handleRejected, 并且这两个函数中的参数只有一个, 就是上一个Promise中resolve出来的或reject出来的.

    解决方法:

    在.then()中使用return和throw
    任何不是 throw 的终止都会创建一个"已决议(resolved)"状态,而以 throw 终止则会创建一个"已拒绝"状态。
    下面这三种情况都是可以的:

    handleFulfilled(value)       { /*...*/; return nextValue;  }
    handleRejection(reason)  { /*...*/; throw  nextReason; }
    handleRejection(reason)  { /*...*/; return nextValue;  }
    
  • 相关阅读:
    牛客网每日一练
    牛客网每日一练
    牛客网每日一练
    牛客网每日一练
    牛客网每日一练
    牛客网每日一练
    牛客网每日一练
    牛客网每日一练
    牛客网每日一练
    牛客网每日一练
  • 原文地址:https://www.cnblogs.com/lyzz1314/p/13894462.html
Copyright © 2011-2022 走看看