Как я могу вызвать свое экспресс-промежуточное ПО, используя co в минимальном экспресс-приложении? - PullRequest
0 голосов
/ 06 июля 2019

Я только запускаю очень минимальное экспресс-приложение, которое будет служить прокси API.У меня есть промежуточное программное обеспечение, которое я хочу вызвать. Я делаю это следующим образом:

Мой маршрут:

var closedCaptionService = require('../middlewares/closedCaptionsService');

var express = require('express');
var router = express.Router();

router.get('/', co.wrap(closedCaptionService.asyncMiddleware));
module.exports = router;

Мое промежуточное программное обеспечение:

var logger = require('morgan');

async function asyncMiddleware(req, res) {
  try {
    logger.info('about to do something asynchronously');

    const data = await getSomething(req.query.burnWorld === 'true');

    res.status(200).json(data);
  }
  catch(err) {
    logger.error(err.stack);
    res.status(500).end();
  }
}

async function getSomething(burnWorld) {
  if (burnWorld) {
    throw new Error('some people just want to watch the world burn');
  }
  else {
    return { some: 'data' };
  }
}

IЯ пока ничего не делаю с данными, которые добавляются к моему объекту res, но я ожидал, что по крайней мере увижу свой лог-оператор, когда достигну этой конечной точки.Вместо этого я получаю сообщение об ошибке Cannot read property 'apply' of undefined

Есть идеи, что это?Не правильно ли я использую co?

Спасибо за любую помощь

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