2017-02-22 1 views
0

私はhttp.getFile()を使用してファイルをダウンロードしています。ここにコードがあります。Nativescript - http.getFile()はエラー状況を処理しません

httpModule.getFile(url, destPath).then(function(result) {}, function (error) {});

I(すなわちHTTP 404で得られた)無効なURLを指定した場合 - はgetFile()が成功した結果を返し、ファイル404、HTMLメッセージを含みます。 404(ファイルが見つからない)と判断された場合、拒否されます。そして、サーバが存在しないコンテンツに対応してきたこと - あなたは成功行われた要求を持っていた

答えて

1

HTTPステータス404個の ES表示。一般的なシナリオであり、エラーによって引き起こされない40xや50xなどのさまざまなサーバーステータスを解決するロジックを実装することもできます。 HTTP要求ではなく、サーバー側のエラー(コンテンツの欠落、サーバーの破損など)によって発生する可能性があります。

拒否フォールバックでは、コード実行に関連するエラーが発生したため、正常に返されたHTTPステータスコードに基づいてロジックを処理しないでください。エラーをキャッチしている場合は、要求が失敗したためにステータスコードを提供しません。ステータスコードに基づいてロジックを処理するために

次を使用することができます。

http.request({ url: "https://httpbin.org/get", method: "GET" }).then(response => { 
     // Argument (response) is HttpResponse! 
     var statusCode = response.statusCode; 
     if (statusCode >== 400) { 
      // do something to handle all statuses greater then 400 
     } 
    }).catch(err => { 
    // handle execution errors here 
}) 
+0

I)は、(http.requestにあなたの視点を理解しています。私のものはhttp get-fileリクエストでした。エラー状態/メッセージ(何が原因であろうと)を食べて、他のステータスメッセージ/フラグがない間違ったファイルを返すためには、最適な方法ではありません。あなたのhttp.request()の例を使用すると、利用可能なstatusCodeはありません。それで?とにかく - いつものように - 私はあなたの助けに感謝します。 – dashman

関連する問題