条纹 + 解析 - 无法弄清楚 Javascript 的承诺

Stripe + Parse - Can't figure out Javascript promises

本文关键字:弄清楚 Javascript 承诺 解析 条纹      更新时间:2023-09-26

对于知道的人来说,这将是一个简单的javascript答案,但我对javascript不是那么好。

我正在使用条纹+解析。在这个函数中,我需要: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 网站上的示例,但是,没有我需要的示例示例,这是我想出的最好的示例。

您应该能够将成功和错误处理代码编写为链中的最后一个处理程序。例如:

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