【发布时间】:2016-03-23 03:30:44
【问题描述】:
我在承诺一种 Braintree 方法时遇到了麻烦。具体来说,gateway.transaction.sale。 https://developers.braintreepayments.com/reference/request/transaction/sale/node
我正在使用带有 bluebird 库的 node.js 来实现承诺。
...
var sale = bluebird.promisify(gateway.transaction.sale);
return sale({
amount: '10.00',
paymentMethodNonce: nonce,
});
})
.then( // doesn't reach here)
.catch(// logs out error)
具体来说,promise 链底部的 .catch 块注销:
[TypeError: this.create is not a function]
当不尝试承诺时,代码可以正常工作。
gateway.transaction.sale({
amount: '10.00',
paymentMethodNonce: nonce,
}, function(err, result) {
... no errors, everything works fine
}
这是 Braintree 库的实现方式有问题吗?我承诺错了吗?我可以尝试任何其他的承诺策略来避免回调地狱吗?
【问题讨论】:
标签: node.js promise bluebird braintree