2017-07-30 18 views
0

私はAPI呼び出しを取得しようとしています。try catch非常に単純な試行で失敗します

以下のコードがサーバーで有効になっています。

Meteor.methods({ 
    "gap-api": function() { 

    this.unblock(); 
    var response = Meteor.wrapasync(apiCall)(); 

    return response; 
    } 
}); 
  1. ギャップ-APIの流星方法は、クライアント上のセッション変数にデータを取得するために使用されます。 > this works
  2. 次は、流星法のgap-apiでapi呼び出しからデータを取得したいと思います。 >これは動作しません。

エラーは内部サーバーエラー500です。したがって、試行は失敗しますが、理由はわかりません。

実際のAPIを実装する前に、まず「これは試してみる」という文字列を取りたいと思っています。

アドバイスはありますか?私が参考にこのコードを使用しています

おかげ

var apiCall = function(callback) { 
    try { 

    var response = "this is a try return"; 
    callback(null, response); 
    } catch (error) { 
    // If the API responded with an error message and a payload 
    if (error.response) { 
     var errorCode = error.response.data.code; 
     var errorMessage = error.response.data.message; 
     // Otherwise use a generic error message 
    } else { 
     var errorCode = 500; 
     var errorMessage = "Cannot access the API"; 
    } 
    // Create an Error object and return it via callback 
    var myError = new Meteor.Error(errorCode, errorMessage); 
    callback(myError, null); 
    } 
}; 

:すべての https://dzone.com/articles/integrating-external-apis-your

答えて

0

まず、それがMeteor.wrapAsync、ないMeteor.wrapasyncでなければなりません。

第2に、apiCallファンクションはcallbackパラメータを想定していますが、これは何もせずに呼び出しています。

apiCallファンクションは、callbackパラメータを期待してはならず、returnか例外をスローする必要があります。あなたは結局のところ、同期メソッドコールでそれをラッピングしています。

関連する問題