如何在expressjs中重定向后进行回调

时间:2013-07-14 07:00:57

标签: javascript node.js express url-routing

我正在使用

重定向到一个页面
res.redirect('/pageOne');

所以重定向之后我想调用一个函数,但是当我调用函数时

 res.redirect('/pageOne');
 callBack();

我发现在重定向之前执行了callBack,

所以有没有办法将callBack传递给重定向?根据api没有。任何其他解决方法?

1 个答案:

答案 0 :(得分:6)

根据current implementation,无法将回调传递给redirect方法。但是,由于响应对象res inherits from Node's own ServerResponse又是Writable stream,因此您可以查看相关事件。例如,您可以尝试finish事件:

  

事件:'完成'

     

当调用end()并且没有更多的块要写时,会发出此事件。

所以,例如,

res.on('finish', callback);
res.redirect('/pageOne');