ExpressJS - res.status (500) возвращает неопределенное значение, поэтому я не могу вызвать send на нем - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть некоторый код, который обычно работает, но дважды теперь выдает следующую ошибку:

TypeError: Cannot read property 'send' of undefined

Код:

app.user.get('/status.json', mGatewayTimeout, function (req, res) {
  var user = req.user
  var qs = cu.querystring.parseUrl(req.url)
  if (user.apps && user.apps.beeminder && user.apps.beeminder.access_token) {
    if (bsCache[user.username] && !qs.force) {
      res.send(bsCache[user.username])
    } else {
      var bee = new Bee({access_token: req.user.apps.beeminder.access_token})
      bee.getUserSkinny(function (err, bm_user) {
        if (err) {
          bsCache[user.username] = null
          return res.status(500).send('error: ' + err.toString())

Так что последняя строка выдает ошибку TypeError, когдаон пытается позвонить .send на res.status(500).

Я оставил в куче вещей, которые, безусловно, не имеют отношения, потому что, если бы я попытался извлечь все, что я думал, не имеет значения, мы быоставайтесь ни с чем.

Bee - клиент API, но я его написал, поэтому я не уверен, что он не делает ничего странного, за исключением того, что я не понимаю, как это может повлиять наобъект ответа.

1 Ответ

0 голосов
/ 22 февраля 2019

Попробуйте res.status(500).send(`error ${err.message}`), new Ошибка - это объекты, созданные из конструктора, и одним из свойств является сообщение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...