Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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中调用函数_Javascript_Mongodb_Express - Fatal编程技术网

无法在Javascript中调用函数

无法在Javascript中调用函数,javascript,mongodb,express,Javascript,Mongodb,Express,我正在调用createOne内部的函数createProfile,并且createOne似乎没有执行。我正在尝试在数据库中创建一个用户。路由按预期工作,只是我无法在函数中调用函数 请帮忙 exports.createOne = Model => catchAsync(async (req, res, next) => { console.log("I am in createone") const doc = await Model.create(req.bod

我正在调用
createOne
内部的函数
createProfile
,并且
createOne
似乎没有执行。我正在尝试在数据库中创建一个用户。路由按预期工作,只是我无法在函数中调用函数

请帮忙

exports.createOne = Model =>
  catchAsync(async (req, res, next) => {
    console.log("I am in createone")

    const doc = await Model.create(req.body);


    res.status(201).json({
      status: 'success',
      data: {
        data: doc
      }
    });
  });
请查看以下控制台日志结果,该功能根本无法启动

Tour
{ getOne: [Function], createOne: [Function] }
POST /api/v1/midasCommon/?segment=Tour - - ms - -

问题是,根据您给出的catchAsync定义

const catchAsync=fn=>{
返回(req、res、next)=>{
fn(请求、恢复、下一步)。捕捉(下一步);
};
}; 
返回的函数catchAsync从未被调用。如何使用
factory.createOne(Tour)
只是调用catchAsync,但您还需要一个调用

您可以执行
factory.createOne(Tour)()或将createOne更改为:

exports.createOne=Model=>
catchAsync(异步(请求、恢复、下一步)=>{
log(“我在createone中”)
const doc=等待模型创建(请求主体);
res.status(201.json)({
状态:“成功”,
数据:{
数据:doc
}
});

})(); // “我无法在函数中调用函数。”哪个函数没有被调用?您是否能够在
导出中的
catchAsync
之前记录一些内容。createOne
?@AlexWayne用户正在尝试在
createProfile
中调用
createOne
,但您说它正在记录
POST/api/v1/midasCommon/?segment=Tour--ms---
,这意味着
Model.create()
调用得很好。您好Matt..factory.CreateOne无法正常工作。您好,这工作正常,但我无法访问CreateOne函数中的req。请查找以下错误:UnhandledPromisejectionWarning:TypeError:无法读取catchAsync未定义的属性“body”(/home/sagar/NodeProjects/complete node bootcamp/4-natours/starter/controllers/midasHandleFactory.js:26:21)在/home/sagar/NodeProjects/complete node bootcamp/4-natours/starter/utils/catchAsync.js:3:7未处理PromisejectionWarning:Unhandled Promisejection拒绝。此错误源于在没有catch块的情况下抛出异步函数内部,或拒绝未使用.catch()处理的承诺。(拒绝id:1)(节点:28278)[DEP0018]弃用警告:未处理的承诺拒绝已弃用。将来,未处理的承诺拒绝将使用非零退出代码终止Node.js进程。这是错误。如果第一次调用返回catchAsy返回的函数,请帮助尝试了解如何将req和res传递给createOne函数数控
Tour
{ getOne: [Function], createOne: [Function] }
POST /api/v1/midasCommon/?segment=Tour - - ms - -