猿问

从承诺中获取数组

我有一个快速应用程序,其中有一个函数,我想在其中返回一个承诺并从端点返回该承诺。


这是我返回承诺的函数。


我的快速端点:


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,但我不确定关键字的位置。


慕沐林林
浏览 144回答 2
2回答

子衿沉夜

请查看以下修订后的片段以获取要遵循的骨架;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 异步。日志功能也必须是异步的。这是一个简短的教程,更详细地描述了该功能。 

炎炎设计

您可以使用 async/await 返回带有以下内容的快速响应如果要使用await关键字,必须async在这个函数前面加上关键字app.get('/logs', async (req, res) =>{    const logs = await socketNotification.fetchFiles()    return res.status(200).json(logs);});不清楚logs你的函数中有什么
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答