返回promises而不是node.js中的res.json(data)

时间:2016-12-17 14:40:37

标签: javascript node.js express paypal

我对payment_url发出了一个帖子请求,触发了第二个功能块。但是我无法通过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.
  }
});

1 个答案:

答案 0 :(得分:0)

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

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

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

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