为什么数据没有写入文件?
Why is the data not written to the file?
我有这段代码应该在文本文件中写入数据:
const test = [
'test1',
'test2'
]
fs.writeFile('file.txt', test, {flag: "a"}, err => {
if (err) throw err
})
问题是代码运行没有错误,但文件中没有数据。如果我只是在某个测试文件中放置并执行这段代码,它可以正常工作,但不能正常运行,而这段代码应该在该位置。怎么了?为什么我在函数中执行代码时文件中没有数据,但在测试文件中执行时一切正常?
函数代码如下:
const fs = require("fs");
(async () => {
const test = [
'test1',
'test2'
]
fs.writeFile('file.txt', test, {flag: "a"}, err => {
if (err) throw err
})
process.exit(1);
} catch (e) {
console.log('error: ', e)
process.exit(1)
}
})()
您缺少 try/catch 的“尝试”部分。
您还将在写入文件之前退出脚本。
试试 writeFileSync
。
const fs = require("fs");
(async() => {
const test = [
'test1',
'test2'
]
try {
fs.writeFileSync('file.txt', test, {
flag: "a"
});
process.exit(1);
} catch (e) {
console.log('error: ', e)
process.exit(1)
}
})()
我有这段代码应该在文本文件中写入数据:
const test = [
'test1',
'test2'
]
fs.writeFile('file.txt', test, {flag: "a"}, err => {
if (err) throw err
})
问题是代码运行没有错误,但文件中没有数据。如果我只是在某个测试文件中放置并执行这段代码,它可以正常工作,但不能正常运行,而这段代码应该在该位置。怎么了?为什么我在函数中执行代码时文件中没有数据,但在测试文件中执行时一切正常?
函数代码如下:
const fs = require("fs");
(async () => {
const test = [
'test1',
'test2'
]
fs.writeFile('file.txt', test, {flag: "a"}, err => {
if (err) throw err
})
process.exit(1);
} catch (e) {
console.log('error: ', e)
process.exit(1)
}
})()
您缺少 try/catch 的“尝试”部分。
您还将在写入文件之前退出脚本。
试试 writeFileSync
。
const fs = require("fs");
(async() => {
const test = [
'test1',
'test2'
]
try {
fs.writeFileSync('file.txt', test, {
flag: "a"
});
process.exit(1);
} catch (e) {
console.log('error: ', e)
process.exit(1)
}
})()