Stripe + Parse - 无法弄清楚Javascript的承诺

时间:2014-12-29 22:57:26

标签: javascript parse-platform stripe-payments

对于知道的人来说,这将是一个简单的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网站上的示例,但是,没有我需要的示例示例,这是我提出的最好的。

1 个答案:

答案 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);
});