Javascript 如何在节点js中等待writeFile或createWriteStream函数完成?
我被困在代码中,我尝试了不同的方法来等待node.js中的写入文件,但它并没有等待 下面是代码Javascript 如何在节点js中等待writeFile或createWriteStream函数完成?,javascript,node.js,Javascript,Node.js,我被困在代码中,我尝试了不同的方法来等待node.js中的写入文件,但它并没有等待 下面是代码 app.post('/createEmp',async (req,res) => { console.log("Inside createEmp()"); var response = await createEmp(req.body); console.log(response); }); async function createEmpFile(fileConte
app.post('/createEmp',async (req,res) => {
console.log("Inside createEmp()");
var response = await createEmp(req.body);
console.log(response);
});
async function createEmpFile(fileContentObj){
var response = {};
console.log("filePath :"+filePath);
return new Promise(function(resolve,reject){
fs.writeFile(filePath, fileContentStr, function (err) {
if (err){
console.log("err :"+err);
reject(err);
}
else {
console.log('Saved!');
fileSavedFlag = true;
response.result = fileSavedFlag;
console.log(response);
resolve(response)
};
});
}); // end of promise
/*return new Promise(function(resolve,reject) {
const file = fs.createWriteStream(filePath)
file.write(fileContentStr)
file.end();
file.on("finish", () => { fileSavedFlag = true; resolve(response) });
file.on("error", () => { resolve(response) });
}); */
}
在node js控制台上,我可以看到响应,但当我使用邮递员呼叫时,我没有得到任何响应,您的发送路线应该有
res.send
,如下所示
app.post('/createEmp',async (req,res) => {
console.log("Inside createEmp()");
var response = await createEmp(req.body);
console.log(response);
res.send(response)
});
您的代码中没有任何
res.send(res)
行。如果您能收到响应就好了。