【发布时间】:2017-11-21 21:23:46
【问题描述】:
您好,我正在 Node JS 中编写一个函数,我必须为其返回一个文件路径。我的问题出在我正在写入文件的那个函数中,我希望在写入文件完成后,我的返回应该可以工作。在查看代码之前,我知道这可能是重复的,并且我确实对此进行了研究,但我不仅能够到达那里。我试过使用回调,但问题是我想返回一个已经定义的值。因此,在做出任何重复或缺乏研究的判断之前,请阅读代码。
另外,尝试在 fs.append 回调中返回值,但仍然没有解决。
我的功能:
const fs = require('fs');
const path = require('path');
module.exports.createDownloadFile = (request) => {
let filePath;
if (request) {
const userID = xyz;
filePath = path.join(__dirname, userID.concat('.txt'));
fs.open(filePath, 'w', (err) => {
if (err) throw new Error('FILE_NOT_PRESENT');
fs.appendFile(filePath, 'content to write');
});
}
return filePath;
};
我正在获取我正在调用函数的文件路径,只是那个时候文件是空的,这就是为什么我想在文件完全写入后返回。
【问题讨论】:
标签: javascript node.js promise