我一直看到 - 如果我使用异步模式进行读/写,我的req.output对象上的错误没有正确更新(因为它不等待查看是否有错误),如果我尝试使用readFileSync,它被卡住了。 我错过了什么?
var middle_1 = function (req, res, next) {
// setup my req.output to transfer data to the next middleware
req.output = {
statusCode : 200,
message : `OK - 200`
}
fs.readFile(__dirname + `/xx.txt`, 'utf8', function (err,data) {
if (err) {
// update error for usage in next MIDDLEWARE
req.output = {
statusCode : 401,
message : `Bad - 401`
}
return next(err);
}
//DO SOMETHING WITH the data
fs.writeFile(__dirname + `/yy.txt`, "DATA", 'utf8', function (err) {
// update error for usage in next MIDDLEWARE
if (err) {
req.output = {
statusCode : 409,
message : `Bad - 409`
}
return next(err);
}
});
}); //end of readFile()
next();
}
var middle_2 = function (req, res, next) {
// SOME THINGS DONE HERE
next();
}
var response_end = function(req, res) {
//setup my Status and Message response
var status = req.output.statusCode;
var message = req.output.message;
res.status(status).send(message);
}
app.post('/' ,middle_1, middle_2, response_end )
答案 0 :(得分:0)