公开退货价值

时间:2017-11-12 21:12:30

标签: rest handlebars.js hapijs server-sent-events eventsource

我正在处理这段代码。为了提供上下文,我使用事件源来流式传输服务器发送的事件。收到数据/响应后,我想将其传递到我的模板(手柄)视图中。下面的代码是一个GET请求,我试图在其中显示从SSEvents.addEventListener返回的数据。

method: 'GET',
path: '/students',
config: {
handler: (request, reply) => {
  SSEvents.addEventListener('score', function(e) {
    const data = JSON.parse(e.data);
    }, false);
      reply.view('students', {result: data});
   },
    description: "Endpoint lists all users that have received at least one test score.",
    tags: ['api']
   }
 }

此代码的问题是常数"数据"在事件监听器的范围之外不可用。我需要找到一种方法来公开常量,以便我可以在reply.view中使用它('学生',{结果:数据});

注意:我已尝试添加" reply.view('学生',{结果:数据});"在事件监听器中,它会抛出以下错误:回复接口调用两次。

任何帮助都将不胜感激。

- !谢谢

1 个答案:

答案 0 :(得分:0)

它应该像这样工作。您的事件源需要多长时间才能产生答案?你有两次打电话给回复方法吗?这只是一个电话。

InjectionFactory