无法从Express JS函数中访问变量

时间:2018-06-30 23:22:56

标签: javascript node.js express

所以我有这段代码

app.get('/', (req, res)=>{
   let names;
   request(options, (error, response, body) => {
      if(error) throw new Error(error);
      names = process(JSON.parse(body));
      console.log(names) //expected output
   }); 
   console.log('names:', names); //output undefined
   res.send(names);
});

当进程完成执行后,将返回表示某些html的字符串。但是,当我再次访问名称时,输出未定义。我假设由于名称是在请求函数外部声明的,所以自创建闭包以来,请求内部的回调将有权访问名称。我该怎么办?

这是过程功能代码:

function process(body) {
   const members = body.members;
   let html = '';
   for(const member of members) {
     html += `<p>member-name: ${member.name}</p>`;
   }
   return html;
}

0 个答案:

没有答案