Javascript 如何使用异步将响应传回客户端

Javascript how to pass response back to client using async

我想将 JSON 响应发回给客户端。由于我是 Javascript 的新手,我不知道该怎么做。请在下面查看我的代码

 async pay(data) {



    stripe.subscriptions.create({
      customer: data.customerID,
      items: [{ plan: data.plan }],
      function(err, cards) {
        // asynchronously called
        res.json(cards);
        console.log('this is the customer cards', res);
      },
    });
  
}

}

我没有看到您将任何名为 res 的变量传递到您使用参数 errcards 调用的 回调函数 中。我想你可能需要把它作为一个论点。请确定其文档中的参数签名。也许它有另一个参数 res,或者秒参数可能是 res.

作为 documentation states you get a subscription object from that api call. And it is passed as the second parameter to the callback funciton you use. You should be able to use it directly since it says it is an object. If it was a Response object you would need to use the json 方法,但我认为情况并非如此。

所以:

var stripe = require('stripe')('sk_test_4eC39HqLyjWDarjtT1zdp7dc');
var result;
stripe.subscriptions.create(
  {
    customer: 'cus_HmesysP1Ayztet',
    items: [
      {price: 'price_1HD1XM2eZvKYlo2CVQMCC4qb'},
    ],
  },
  function(err, subscription) {
    // asynchronously called
    // use subscription object directly.
    console.log("subscription: ", subscription);
    result = subscription;
  }
);

如果您想将其分配给另一个在回调外部可见的变量,请在外部声明该变量,就像在 stripe.subscriptions.create 调用之前一样,然后在内部分配,就像 result = subscription 在回调内部一样。您不必将其称为订阅,您可以随意调用它。