Javascript 在另一个函数内调用异步函数rise-TypeError:next不是函数
我有3个功能:Javascript 在另一个函数内调用异步函数rise-TypeError:next不是函数,javascript,node.js,async-await,Javascript,Node.js,Async Await,我有3个功能: const uploadImages = (req, res, next) => { UPLOAD_HELPERS.uploadMultipleImages(req, res, (err) => { ...................... next(); }); }; const resizeImages = async (req, res, next) => { .......................
const uploadImages = (req, res, next) => {
UPLOAD_HELPERS.uploadMultipleImages(req, res, (err) => {
......................
next();
});
};
const resizeImages = async (req, res, next) => {
..............................
next();
};
const getResult = async (req, res,next) => {
.............................
const newFile = new Files({
owner : id,
fileName: images,
});
await newFile.save()
};
我用咆哮的方式称呼他们:
router.post(
"/upload",
UPLOAD_IMAGES.uploadImages,
UPLOAD_IMAGES.resizeImages,
UPLOAD_IMAGES.getResult
);
在此级别上,使用此端点上载图像有效
问题是我想在另一个名为createPosts()的函数中重用此代码,而无需重新编写所有这些
exports.createPosts = async (req, res) => {
..........................
UPLOAD.uploadImages(req,res)
.then(UPLOAD.resizeImages(req,res))
.then(UPLOAD.getResult(req,res))
.then((result => {
console.log(result)
}))
我得到了这个错误:TypeError:next不是一个函数你应该给createPosts中的所有函数和她自己传递第三个参数。你没有给
传递第三个参数。uploadImages()
,所以下一个
是未定义的
。添加next给了我这个新的错误引用错误:next没有定义否,不能只添加标识符next
,它必须是一个实际存在的函数。否则,您的其他函数必须在尝试调用它之前检查它是否已定义。那么,有什么建议如何在尝试调用它之前检查它是否已定义?我确实执行了if(next){return next();}
但这也不起作用(节点:8956)未经处理的Promisejection警告:ReferenceError:未定义next