我正在写入异步函数内的文件:
let Parser = require('rss-parser');
const fs = require('fs')
function parse(feed_url) {
let parser = new Parser();
(async () => {
let feed = await parser.parseURL(feed_url);
fs.writeFileSync('./output.json', JSON.stringify(feed), {
encoding: "utf8",
mode: 0o666
})
})();
const data = fs.readFileSync('./output.json', 'utf8')
fs.unlinkSync('./output.json');
return data
}
console.log(parse('https://www.reddit.com/.rss'))
我现在得到错误:
Error: ENOENT: no such file or directory, open './output.json'
如果想知道,我确实需要在 async 函数中写入文件,因为我正在使用一个包。
如何写入异步函数内的文件,然后在异步函数外读取该文件?
更新:添加完整代码。
使函数解析异步
那么你的代码很简单
async function parse(feed_url) {
let parser = new Parser();
let feed = await parser.parseURL(feed_url);
fs.writeFileSync('./output.json', JSON.stringify(feed), {
encoding: "utf8",
mode: 0o666
})
const data = fs.readFileSync('./output.json', 'utf8')
fs.unlinkSync('./output.json');
return data
}
parse('https://www.reddit.com/.rss').then(console.log);
当然......你为什么需要一个文件!!!!
async function parse(feed_url) {
let parser = new Parser();
let feed = await parser.parseURL(feed_url);
return JSON.stringify(feed)
}
parse('https://www.reddit.com/.rss').then(console.log);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句