![]() |
1
2
太长,读不下去了不要使用.catch()或.then(成功, )如果您不希望在发生错误后调用promise链中的后续函数。仅在链的末端捕获,以获得整个异步调用链的结果,而不会出现错误后不需要的调用。 好的,让我们假设一个函数只返回一个被拒绝的承诺:
然后,一个承诺链如:
会让那个控制台。日志“调用此日志…”以运行,因为错误正在处理中。输出将是:
您希望在代码中执行的操作更类似于以下操作:如果验证中存在以前的错误,则防止创建用户:
还有两个您可能需要处理的小问题: Bluebird documentation 建议使用.catch()而不是.then(成功,失败):
将与前面的示例类似。 而且 is better to reject errors instead of strings :
将打印错误堆栈跟踪,而不仅仅是控制台中的消息。 |
![]() |
tomography · 更改承诺类型 2 年前 |
![]() |
Aristocles · 许诺抛出错误后是否继续执行所有提取? 3 年前 |
![]() |
Centurion22 · 异步函数内的异步映射函数未定义响应数据 3 年前 |
![]() |
Scott Thiessen · 完成后逃离承诺链[重复] 7 年前 |
|
adcomptyler · 向Twilio视频快速启动添加静音按钮 7 年前 |
![]() |
JWiley · 带有FileReader的Promise函数过早解析 7 年前 |
![]() |
John Lippson · 在所有异步函数完成后执行函数? 7 年前 |
![]() |
ctf0 · 解析嵌套承诺后运行函数 7 年前 |