javascript - async 读取文件
为情所困
为情所困 2017-05-19 10:46:58
[JavaScript讨论组]
async function a() {
    var result = await b()
    res.json(result)
}
var fse = require('fs-extra')

function b() {
    var fpath = '/data.json'
    // 异步读取文件
    fse.readJson(fpath, (err, data) => {
        if(err) console.log(err)
        return data
    })
}

上述代码中, resultundefined,即并没有得到读取文件后的数据。我应该怎么修改,让result 得到 data.json 的内容呢?

为情所困
为情所困

全部回复(1)
PHPz

这种情况建议你使用stream 而且你的b函数并没有返回一个Promise 建议了解一下async/await和Promise之间的关系, 两种处理方法

1.

var data = fs.createReadStream('/data.json')
data.pipe(res)

2.

function b () {
    var fpath = '/data.json'
    return new Promise((resolve, reject) =>{
        readJson(fpath, (err, data) => {
            if (err) reject(err)
            resolve(data)
        })
    })
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号