2016-12-17 13 views
2

私は、2番目の機能ブロックをトリガするpayment_urlへのポストリクエストを行います。しかし、そのメソッドでは何も取得できません。データをresolve関数に渡す方法がわからないためです。私はあなたが間違っているいくつかの概念を持っていると思うnode.jsのres.json(data)の代わりに約束を返します

cilentコール

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

答えて

0

サーバーの応答は、既にJavascriptの範囲外であるため、Promiseにすることはできません。この場合、すでにHTTPリクエストについて話しています。 レスポンスのタイプは、Content-Typeのヘッダで指定されています。使用可能なタイプは、hereで確認できます。

コードではjson.res()を使用しているため、JSON形式のテキストをクライアントに送り返します。

サーバーからPromisesを使用して応答を取得するには、その応答をクライアントに実装する必要があります。

関連する問題