如何从后端通知前端?

时间:2017-06-08 07:05:12

标签: javascript

我正在使用multer进行文件上传。在服务器上我有这个:

stream.on('finish', () => {                                                                              
  console.log('finished')                                                                                
  next()
})

最好的方法(用什么命令)通知前端已经完成了#39;已经发生了?我想知道这个,以便有一个加载栏。

3 个答案:

答案 0 :(得分:3)

这就是websockets的用途。服务器可以将数据发送到客户端,反之亦然。查看socket.io

服务器:socket.emit("upload finished")

客户:socket.on("upload finished", function...)

答案 1 :(得分:1)

虽然Jeremy Thille的答案运作良好,但请注意向所有人播放活动。

Socket.emit()只是向所有连接的客户端广播消息。

因此,您需要存储上传者的客户端ID,并仅向该客户端通知进度,而不是全部。 请参阅this

答案 2 :(得分:0)

您可以使用套接字进行此类通信。 socket.io是Web套接字的节点包。在服务器中

socket.emit('done')

而在客户端,您可以附加到emit以接收新数据

socket.on('done', function (data) {
    // Do something with data
});