为了账号安全,请及时绑定邮箱和手机立即绑定

从承诺中获取数组

从承诺中获取数组

慕沐林林 2021-11-04 10:44:31
我有一个快速应用程序,其中有一个函数,我想在其中返回一个承诺并从端点返回该承诺。这是我返回承诺的函数。我的快速端点: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,但我不确定关键字的位置。
查看完整描述

2 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

请查看以下修订后的片段以获取要遵循的骨架;


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 异步。日志功能也必须是异步的。这是一个简短的教程,更详细地描述了该功能。 


查看完整回答
反对 回复 2021-11-04
?
炎炎设计

TA贡献1808条经验 获得超4个赞

您可以使用 async/await 返回带有以下内容的快速响应


如果要使用await关键字,必须async在这个函数前面加上关键字


app.get('/logs', async (req, res) =>{

    const logs = await socketNotification.fetchFiles()


    return res.status(200).json(logs);

});


不清楚logs你的函数中有什么


查看完整回答
反对 回复 2021-11-04
  • 2 回答
  • 0 关注
  • 143 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信