Приложение NodeJS вылетает после нескольких запросов - PullRequest
0 голосов
/ 02 ноября 2019

Это мои самые досадные проблемы за все время, у меня есть простой обработчик запросов get в моем приложении nodejs

router.get('/api/docs/fetch', async (req,res) => {
    try{
       let docs = await Doc.find({public: true}).limit(5);
       const docsToSend = docs.filter(doc => new Date(doc.expires) < new Date().getTime());
       return res.status(200).send({
           docs: docsToSend
       })
    }catch(err){
        return res.status(500).send({
            message: err.message
        })
    }
})

и после нескольких запросов мое приложение вылетает (это случайное число, на данный момент это22), я сталкивался с этой проблемой очень много раз, но я не знаю, как она была решена каким-то образом (в основном у меня было JSON.stringify(array) в моем коде, и я удалял stringify решенную проблему), но у меня нет никакой подсказки для этого, я пыталсявыполняя запрос с почтальоном и последний запрос задержки для бесконечности, я также попробовал его с помощью метода извлечения axios и javascript, но я получил тот же результат. в чем проблема и как я могу это исправить?

1 Ответ

2 голосов
/ 02 ноября 2019

Это может быть связано с областью действия проблем:

Попробуйте выполнить следующее:


const getDocs = async () => {
  return Doc
    .find({
      public: true,
      expires: {
        $gte: new Date().getTime()
      }
    })
    .limit(5);
}

router.get('/api/docs/fetch', async (req, res) => {
  try {
    const docs = await getDocs()
    res.status(200).json({ docs })
  } catch ({ message }) {
    res.status(500).json({ message })
  }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...