即使在我返回Promise.reject()的时候,也有人打来电话.第一个.then()打印未定义,第二个.then()也打印输出.

有人能解释一下为什么吗?

let p4 = new Promise((resolve,reject)=>{
    resolve("p4 Resolved");
});

p4.then((val)=>{
    console.log(val);
    return Promise.reject("20 Rejected")
}).catch((error)=>{console.log(error)})
  .then((val)=>{console.log(val);return 290})
  .then((val)=>{console.log("Last then : "+val);});

推荐答案

catch也返回一个promise ,因为您没有返回任何内容,所以它将是一个兑现到undefined的promise ,因此前then打印undefined.最后,最后then从第一个then先前返回的promise 中获得值290,并打印它.

Javascript相关问答推荐

通过在页面上滚动来移动滚动条

Angular:动画不启动

Google maps API通过API返回ZERO_RESULTS,以获得方向请求,但适用于Google maps

为什么!逗号和空格不会作为输出返回,如果它在参数上?

使用Java脚本导入gltf场景并创建边界框

WhatsApp Cloud API上载问题:由于MIME类型不正确而导致接收&Quot;INVALID_REQUEST";错误

如何在ASP.NET项目中使用Google Chart API JavaScript将二次轴线值格式化为百分比

WP Bootstrap NavWaker:下拉菜单一次打开所有下拉菜单

使用Nuxt Apollo在Piniastore 中获取产品细节

Angular 形式,从DOM中删除不会删除指定索引处的内容,但会删除最后一项

如何在DYGRAPS中更改鼠标事件和键盘输入

AddEventListner,按键事件不工作

在Odoo中如何以编程方式在POS中添加产品

JavaScript:如果字符串不是A或B,则

如何在Java脚本中对数据进行签名,并在PHP中验证签名?

为什么我看到的是回复,而不是我的文档?

ReferenceError:无法在初始化之前访问setData

我无法在Api Reaction本机上发出GET请求

需要刷新以查看Mern堆栈应用程序中的更改

Js问题:有没有办法将数据从标记表转换成图表?