所以我有这段代码
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;
}