当前位置:  开发笔记 > 编程语言 > 正文

如何在express.js中使用服务器发送事件

如何解决《如何在express.js中使用服务器发送事件》经验,为你挑选了0个好方法。

我使用express.js设置了REST服务器。现在,我想向该服务器添加sse。实现此 sse程序包后,出现错误。我知道我收到此错误,何时尝试使用res.send两次,但我没有。

ERROR: Error: Can't set headers after they are sent.                                            
    at ServerResponse.OutgoingMessage.setHeader (http.js:690:11)                            
    at ServerResponse.header (/home/root/node_modules/express/lib/response.js:718:10)         
    at ServerResponse.send (/home/root/node_modules/express/lib/response.js:163:12)            
    at app.get.str (/home/root/.node_app_slot/main.js:1330:25)                                 
    at Layer.handle [as handle_request] (/home/root/node_modules/express/lib/router/layer.js:95:5)    
    at next (/home/root/node_modules/express/lib/router/route.js:131:13)                       
    at sse (/home/root/node_modules/server-sent-events/index.js:35:2)                          
    at Layer.handle [as handle_request] (/home/root/node_modules/express/lib/router/layer.js:95:5)  
    at next (/home/root/node_modules/express/lib/router/route.js:131:13)                          
    at Route.dispatch (/home/root/node_modules/express/lib/router/route.js:112:3)

是否有可能我无法在sse函数中使用express方法?例如:

app.get('/events', sse, function(req, res) {
    res.send('...');
});

此外,我发现这个解决方案,这个。是否可以res.write在不使用其他软件包的情况下通过该函数或其他方式使用sse ?

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有