Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在另一个函数内调用异步函数rise-TypeError:next不是函数_Javascript_Node.js_Async Await - Fatal编程技术网

Javascript 在另一个函数内调用异步函数rise-TypeError:next不是函数

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) => { .......................

我有3个功能:

 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