【问题标题】:"unexpected identifier error" in pagination function分页功能中的“意外标识符错误”
【发布时间】:2022-05-09 09:18:39
【问题描述】:

虽然我在参数中传递了模型变量,但它没有读取它们并给出了意外标识符的语法错误...

有什么问题....任何见解都非常感谢

function paginatedResults(model) {
  return (req, res, next) => {
    const page = parseInt(req.query.page);
    const limit = 20;

    const startIndex = (page - 1) * limit;
    const endIndex = page * limit;

    const results = {};

    if (endIndex < await model.countDocuments().exec()) {
      results.next = {
        page: page + 1,
        limit: limit,
      };
    }

    if (startIndex > 0) {
      results.previous = {
        page: page - 1,
        limit: limit,
      };
    }
    try {
     results.results =await model.find().limit(limit).skip(startIndex).exec();
    res.paginatedResults = results;
    next();
} 
catch (error) {
    res.status(400).json({message:error})
}
  };
}

module.exports=paginatedResults

【问题讨论】:

    标签: node.js mongodb


    【解决方案1】:

    在函数调用开始时添加异步

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    【解决方案2】:

    问题可能是异步等待

    我有同样的错误

    storeCtrl.getStores = async paginatedResults(Store), (req, res) => {
      try {
        res.json(res.paginatedResults);
      } catch (e) {
        res.status(400).send("Bad request");
      }
    };
    

    如果您仔细观察,该函数会出现异步,出于某种原因,如果我删除 async 一切正常...所以我的意思是它不能只是一个异步问题,也许是因为函数是在之前输入了属性、参数、属性等之后被调用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-28
      • 2014-07-25
      • 1970-01-01
      • 2020-02-22
      • 2019-11-11
      • 1970-01-01
      • 1970-01-01
      • 2022-12-05
      相关资源
      最近更新 更多