HapiJS请求生命周期

时间:2016-11-10 05:44:54

标签: node.js socket.io httprequest server-sent-events hapijs

任何人都可以帮我解决SSE问题吗?我试图使用Susie(https://github.com/mtharrison/susie)发送SSE。当然请求生命周期不允许我回复两次。所以在我的路由处理程序中执行reply.eventreply.view不起作用。有什么建议吗?

以下是一个例子:

{
    method: 'GET',
    path: '/SSE',
    handler: function(request, reply) {
        reply.event({id: 2, data: 'test data' });
        /** I want to reply with a view as well after I send the SSE */
        reply.view('SSE/index');
    }
}

我认为一种方法是停止使用 susie 并手动发送SSE,然后我应该能够reply.view我认为。任何帮助将不胜感激。还有任何进一步文档的链接。谢谢!

1 个答案:

答案 0 :(得分:0)

刚刚结束使用Socket.io。无法让SSE按照Hapijs的方式工作。

客户端

的index.html

<script src="https://cdn.socket.io/socket.io-1.4.5.js"></script>
<script>
  var socket = io.connect();
  socket.on('event', function (data) {
     console.log(data);
  });
</script>

服务器端

app.js

// Export Socket.io io variable for use in routes file
    exports.io = require('socket.io')(server.listener);

路由/ index.js

// Emit event to all connected users
app.io.emit('event', { data: 'test message'});