![]() |
1
2
太长,读不下去了不要使用.catch()或.then(成功, )如果您不希望在发生错误后调用promise链中的后续函数。仅在链的末端捕获,以获得整个异步调用链的结果,而不会出现错误后不需要的调用。 好的,让我们假设一个函数只返回一个被拒绝的承诺:
然后,一个承诺链如:
会让那个控制台。日志“调用此日志…”以运行,因为错误正在处理中。输出将是:
您希望在代码中执行的操作更类似于以下操作:如果验证中存在以前的错误,则防止创建用户:
还有两个您可能需要处理的小问题: Bluebird documentation 建议使用.catch()而不是.then(成功,失败):
将与前面的示例类似。 而且 is better to reject errors instead of strings :
将打印错误堆栈跟踪,而不仅仅是控制台中的消息。 |
![]() |
Jscti · 相当于承诺。尝试观察对象? 7 年前 |
![]() |
jigarzon · 映射结果在axios中。js承诺 7 年前 |
![]() |
4imble · 从Bluebird中的承诺数组中获取值的简便方法 7 年前 |
![]() |
arik · 带回调的Bluebird promise生成器 7 年前 |
![]() |
Shih-Min Lee · 承诺中的某些承诺未被执行 7 年前 |
![]() |
DevStarlight · 蓝鸟创建新用户 8 年前 |