0

http.getを使用してnode.jsでアプリを正常に作成しました。問題は、ページが存在しない場合、エラーが発生してアプリが終了することです。タイムアウトを宣言する方法はありますか。タイムアウト後、応答の待機を停止し、アプリを続行する必要があります (同期的に書き込まれた場合) すべてのアドバイスに感謝します...

4

1 に答える 1

0

http.get 経由で情報を取得しようとしていると考えて返信しています。

  1. 応答ステータス コードを使用して検証を確認できます。

    http.get(url, function(res) {
        if (res.statusCode !== 200) {
            Your custom handler
        } else {
            var body = '';
    
            res.on('data', function(chunk) {
                body += chunk;
            });
    
            res.on('end', function() {
                console.log(body);
            });
        }
    }).on('error', function(e) {
    console.log("error: ", e);
    });
    

    完全に実装された例は、彼女のhttps://gist.github.com/pasupulaphani/9630789にあります。

  2. リクエストに時間がかかりすぎる場合は、タイムアウトを設定してエラー/中止を発行できますが、これはアプリケーション ロジックで行う必要があります。

    他の投稿でタイムアウトを処理するためのより優れた/洗練されたソリューションを見つけました: https://stackoverflow.com/a/12815321/2073176

于 2014-03-18T22:39:06.847 に答える