Javascript 如何在expressjs中重定向后进行回调
我正在使用重定向到一个页面Javascript 如何在expressjs中重定向后进行回调,javascript,node.js,express,url-routing,Javascript,Node.js,Express,Url Routing,我正在使用重定向到一个页面 res.redirect('/pageOne'); 所以在重定向之后我想调用一个函数,但是当我调用这个函数时 res.redirect('/pageOne'); callBack(); 我发现回调在重定向之前执行 那么有没有办法将回调传递到重定向?根据its编号。有没有其他解决方法?根据,没有办法将回调传递到重定向方法。但是,由于响应对象res,这反过来又是一个,因此您可以监视相关事件。例如,您可以尝试finish事件: 事件:“完成” 当调用end()并且没
res.redirect('/pageOne');
所以在重定向之后我想调用一个函数,但是当我调用这个函数时
res.redirect('/pageOne');
callBack();
我发现回调在重定向之前执行
那么有没有办法将回调传递到重定向?根据its编号。有没有其他解决方法?根据,没有办法将回调传递到重定向
方法。但是,由于响应对象res
,这反过来又是一个,因此您可以监视相关事件。例如,您可以尝试finish
事件:
事件:“完成”
当调用end()
并且没有更多的块可写时,将发出此事件
那么比如说,
res.on('finish', callback);
res.redirect('/pageOne');
我希望(我猜这就是问题的核心)回调会在下一页处理完重定向调用后执行,但情况并非如此:事件会在几毫秒后触发。考虑到这一点,我认为以一般方式处理这种情况非常困难(重定向可能会转到完全不同的服务器)。不过,我还是想知道一种基于express的解决方案,以防重定向到同一服务器应用程序上的页面。@Muzietto你是什么意思?在新URL完成呈现后调用回调?加载?是的,这将更加困难,我认为需要应用程序级代码。所有的
重定向
实际上是在响应中发送一个特殊的头,然后响应结束并刷新。