代码之家  ›  专栏  ›  技术社区  ›  Natasha Kelly

暴露返回值

  •  0
  • Natasha Kelly  · 技术社区  · 6 年前

    我有这段代码,我正在工作。为了提供上下文,我使用事件源来传输服务器发送的事件。收到数据/响应后,我希望将其传递到模板(把手)视图中。下面的代码是一个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']
       }
     }
    

    这段代码的问题是,在事件侦听器的范围之外,常量“数据”不可用。我需要找到一种方法来暴露常数,这样我就可以使用它作为回应。视图('students',{result:data});

    任何帮助都将不胜感激。

    --谢谢!

    1 回复  |  直到 6 年前
        1
  •  0
  •   metoikos    6 年前

    它应该是这样工作的。事件源生成答案需要多长时间?你两次调用回复方法了吗?这只是一个电话。

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