2017-04-26 10 views
0

多くのelseブロックと深い字下げを避けたい場合は、ルータ機能を明示的に終了したい場合はどのようなタイプの戻り値を設定する必要がありますか?ルータ機能の戻り値のタイプは何ですか?

app.get("/xx", function(req, res) { 
    if (c1) { 
     res.render("c1"); 
     return ??; 
    } 
    if (c2) { 
     res.render("c2"); 
     return ??; 
    } 
    res.render("default"); 
}) 

答えて

1

本当に問題ではありません。これは非同期関数であり、誰もが、この戻り値を使用するつもりはないですので、あなただけのundefinedを返すことができます。

res.render(...); 
return; 

それは問題ではありませんので、あなたも書き込むことができます。

return res.render(...); 

しかし、私をそれは2行でもっと読みやすく見えると思う。

0

代わりのres.render()それが送られた出力で応答ストリームを終了するよう、あなたは、res.send()を使用する必要があります。

+0

または単に 'return res.send()'を追加してください。 –

+0

@UditKumawat、 'return res.render(" xx ")' ok? –

+0

'res'レンダリング()もレンダリングされた出力を送るので、' send'の必要はありません。 [ドキュメント](https://expressjs.com/en/api.html#res.render) – GilZ

関連する問題