【问题标题】:return promises instead of res.json(data) in node.js在 node.js 中返回 promise 而不是 res.json(data)
【发布时间】:2016-12-17 14:40:36
【问题描述】:

我向 payment_url 发出一个 post 请求,触发了第二个函数块。但是在 then 方法中我什么也得不到,因为我不知道如何将数据传回 resolve 函数。

无声的通话

paypal.request.post(payment_url)
  .then(function(data) {
    resolve(data.paymentID);
  })
  .catch(function(err) {
    reject(err);
  });

服务器代码

paypal.payment.create(create_payment_json, function(error, payment) {
  if (error) {
    //throw error, return the promises too
  } else {
    // return promises but how?
   //if I simply do res.json(payment) it's not going to work.
  }
});

【问题讨论】:

    标签: javascript node.js express paypal


    【解决方案1】:

    我认为你的一些概念是错误的。

    服务器响应不能是 Promise,因为它已经超出了 Javascript 的范围。在这种情况下,我们已经在谈论 HTTP 请求。 响应的类型在标题Content-Type中指定,可用的类型可以检查here

    在您的代码中,您使用的是json.res(),因此您将向客户端发送 JSON 格式的文本。

    如果你想通过 Promises 从服务器获取响应,那必须在客户端实现。

    【讨论】:

      猜你喜欢
      • 2021-03-17
      • 2020-07-11
      • 2017-10-31
      • 2013-09-21
      • 2021-02-06
      • 2017-03-17
      • 2017-06-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多