对于知道的人来说,这将是一个简单的javascript答案,但我对javascript并不是那么好。
我正在使用Stripe + Parse。在这个功能中,我需要: 1.创建客户 2.向客户收费
我对promise语法有疑问。
只有当两个Stripe调用都返回成功时,我才需要success
。但是,当需要返回错误时,我需要调用error
。鉴于这种链式语法,我不知道将这些放在哪里。
Parse.Cloud.define("chargeToken",function(request,response)
{
Stripe.Customers.create({
card: request.params.card,
description: request.params.description
}).then(function(customer) {
return Stripe.Charges.create({
amount: request.params.amount,
currency: request.params.currency,
customer: customer.id,
success:function(results)
{
response.success(results);
},
error:function(error)
{
response.error("Error:" +error);
}
});
});
});
此代码取自Stripe网站上的示例,但是,没有我需要的示例示例,这是我提出的最好的。
答案 0 :(得分:1)
您应该能够将成功和错误处理代码编写为链中的最后一个处理程序。例如:
Stripe.Customers.create({
card: request.params.card,
description: request.params.description
}).then(function(customer) {
return Stripe.Charges.create({
amount: request.params.amount,
currency: request.params.currency,
customer customer.id
});
}).done(function(results) {
response.success(results);
}, function(err) {
response.error('Error:' + err);
});