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

我做了一个发送请求到payment_url,这是触发第二个function块。 但是我不能在then方法中得到任何东西,因为我不知道如何将数据传递回parsing函数。

无声的呼叫

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

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

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

在你的代码中,你使用的是json.res() ,所以你将会以JSON格式发回给客户端的文本。

如果你想通过Promise从服务器得到响应,那必须在客户端实现。