我正在构建一个简单的Web应用程序,它将文件作为输入,运行一些命令行操作,然后返回一个新文件(它是一个在线转换器)。整个过程需要1-2分钟,因为有8或9个命令行操作,有些需要花费更多时间。
我正试图找出一种将转换状态实时发送到客户端的方法。
目前我的代码如下:
app.post('/convert/', function(req, res) {
cmd.run(/* operation 1 */);
cmd.run(/* operation 2 */);
...
cmd.run(/* operation 7 */);
cmd.run(/* operation 8 */);
cmd.run(/* operation 9 */);
});
我想知道当一个命令行命令执行完毕而没有任何需要刷新时,是否有办法将某些内容发送回客户端。 最终的目标是拥有一个干净的加载栏。我知道解决方案可能在于Ajax,但在这一点上,我太初衷了解我应该做什么。
我试过像
这样的东西res.write('step 1 done');
和
res.send('step 1 done');
但它会停止执行脚本的其余部分并在浏览器中加载另一个页面。我还想知道如何在客户端的浏览器中处理这个响应。
谢谢!
答案 0 :(得分:3)