【发布时间】:2016-02-05 06:17:56
【问题描述】:
有没有更好的方法来使用 Bluebird Promise 进行以下操作
Promise.resolve()
.then(function() {return new MyObject(data)})
.then.....etc
.catch(function (e){ //handle it})
我有 MyObject - 并且从外部系统传入的数据可能是无效的,因此可能会破坏承诺链。将对象创建包装在一个函数中,然后看起来真的很混乱。有没有类似的东西
Promise.something(new MyObject(data))
.then()....
.catch....
另外 - 节点 0.10 所以没有 Lambda 让它看起来更整洁:-(
【问题讨论】:
-
如果您从先前的承诺中获得
data,则需要以一种或另一种方式使用then。你到底在找什么?减少function (data) { return new MyObject(data) }的方法? -
您是否可能正在寻找
Promise.resolve(new MyObject(data))以从MyObject生成承诺? -
@zzzzBov 听起来 OP 希望承诺捕获
new MyObject可能抛出的任何异常(@Silver,对吗?)
标签: javascript node.js promise bluebird