1 回答

TA贡献2016条经验 获得超9个赞
您对 Promises 的使用不正确。multerUploadWorker应该返回承诺,但在你的情况下它什么也不返回。
const multer = require('multer');
const multerUploadWorker = async(req, res, storage) => {
console.log('worker called');
const upload = multer({ storage: storage }).single('file');
return new Promise((resolve, reject) => {
upload(req, res, function (error) {
if (error) {
reject(error)
} else {
console.log('resolve called');
resolve();
}
});
});
};
module.exports = multerUploadWorker;
同样是您处理结果的方式,无需检查结果,因为您没有返回布尔值,只需等待上传完成并在catch语句中处理错误的情况下:
try {
await multerUploadWorker(req, res, storage))
return success(res, { message: req.file });
}
添加回答
举报