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

Sar*_*ath 4 javascript url-routing node.js express

我正在使用重定向到页面

res.redirect('/pageOne');
Run Code Online (Sandbox Code Playgroud)

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

 res.redirect('/pageOne');
 callBack();
Run Code Online (Sandbox Code Playgroud)

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

有没有办法传递callBack重定向?根据api它没有.还有其他解决方法吗?

Mic*_*ley 7

根据当前的实现,没有办法将回调传递给redirect方法.但是,由于响应对象res 继承自Node自身ServerResponse,而后者又是一个Writable,因此您可以监视相关事件.例如,您可以尝试该finish事件:

事件:'完成'

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

所以,例如,

res.on('finish', callback);
res.redirect('/pageOne');
Run Code Online (Sandbox Code Playgroud)