我正在处理这段代码。为了提供上下文,我使用事件源来流式传输服务器发送的事件。收到数据/响应后,我想将其传递到我的模板(手柄)视图中。下面的代码是一个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('学生',{结果:数据});"在事件监听器中,它会抛出以下错误:回复接口调用两次。
任何帮助都将不胜感激。
- !谢谢
答案 0 :(得分:0)
它应该像这样工作。您的事件源需要多长时间才能产生答案?你有两次打电话给回复方法吗?这只是一个电话。
InjectionFactory