从promise获得数组
我有一个快速应用程序,在这里我有一个函数,我想返回承诺并从端点返回承诺。
这是我返回诺言的函数。
我的明确终点:
app.get('/logs', (req, res) =>{
const logs = socketNotification.fetchFiles()
})
然后我有了我的函数,在这里我返回了承诺。
const fetchFiles = () =>{
return logs.then( file =>{
const lines = file.lines
lines.splice(-1)
const JSONlogs = lines.map(line => {
return({
log: JSON.parse(line)
})
});
})
}
module.exports = {
fetchFiles
}
现在,我只返回存储在函数内部的对象JSONlogs
。有没有一种方法只能从函数中提取对象。我尝试使用async/await
,但不确定关键字的位置。
请阅读以下经修订的摘录,以了解基本内容;
async function fetchFiles(params) {
const file = await logs();
const lines = file.lines
lines.splice(-1)
const JSONlogs = lines.map(line => {
return ({
log: JSON.parse(line)
})
});
return JSONlogs;
}
app.get('/logs', async (req, res) =>{
const logs = await socketNotification.fetchFiles()
})
第一步是使路由异步。然后使fetchFiles异步。日志功能也必须是异步的。这是一个简短的教程,更详细地描述了该功能。link