node.js Express中的正确方法是在执行耗时的post时显示微调。

我有一个post可以启动一个可能需要半分钟的大型处理任务。

什么是正确的方式发回到微调的响应,然后当任务完成redirect或显示结果?

我应该在临时视图上使用render(),然后在任务完成时asynchronous使用redirect()吗?

这是我到目前为止的代码:

exports.postForm = function (req, res) { console.log('postForm'); logger.info('Request Data:' + JSON.stringify(req.body)); // Do big task here... but how to tell user its happening? }; 

更新 – 关于问题的更多细节:

所以我的具体问题是这样的:当我点击提交button,post回到这个路线在Express中。 无论我想要什么,我都可以发送内容或redirect。 说我redirect到一个“处理”页面,然后启动asynchronous调用来启动数据收集。 那么如何做到这一点,我可以再次redirect到“处理完成”页面吗?

我怀疑我可能需要在Socket.IO中完成所有这些操作,而不是使用html post提交表单。 我想我可以“点击”使用socket.io提交数据,然后我可以在一个AJAX像时尚重写网页的一部分,以表明“处理”,然后当我通过套接字说事件完成说。我可以重写页面再说完成。 这看起来是最好的方式吗?