2017-12-07 8 views
0

何らかの理由で自分のサーバが応答できなかった場合、サーバに来るリクエストをデフォルトページにリダイレクトできるかどうか疑問に思っていました。例えば取得要求ページが応答に時間がかかりすぎる場合、デフォルトページにリダイレクト

このルートために、:

app.post('/login',ensureAuthenticated,(req,res)=>{ 
    // My route logic 
}); 

いくつかの予期しないエラーが(接続できないデータベース)を発生し、私は私のホームページにそれらを送信することができます。 APIは2秒実行し、デフォルトのURLにページをリダイレクトするとres.redirectに応答しなかった場合

+0

私は取得できません!応答に時間がかかるときやエラーが発生したときに 'redirect'をしたいですか? – Yahya

+0

はい。 1つの特定のリクエストではなく、すべてのリクエスト –

+0

エラーの場合は、try-catchまたはコールバックを使用する必要があります。タイムアウトの場合、中間は – Yahya

答えて

0
app.post('/login',ensureAuthenticated,(req,res)=>{ 
    // My route logic 
    setTimeout(() => { 
     res.redirect('/default-page') 
    }, 2000) 
}); 

setTimeout機能を使用します。

+0

上記の方法はすべてのケースでうまくいかない(リダイレクトされたページがあまりにも多い)。私は、特定のリクエストに依存しないものが欲しいですが、一般的にはすべてのリクエストが –

+0

であれば、私は間違っていません。このロジックを多くの投稿に適用したいのですか?そのために、ミドルウェアに追加することができます。 – amanpurohit

関連する問題