mak_ufo
@mak_ufo

Почему не получается использовать async/await в TypeScript?

Пишу на typescript, используя фреймворк koa. tsconfig.json такой:
{
    "compilerOptions": {
        "module": "commonjs",
        "target": "es6",
        "noImplicitAny": false,
        "sourceMap": false,
        "typeRoots": [
            "../node_modules/@types"
        ]
    }
}


Код такой:
const koa = require('koa'),
      app = new koa();

app.use(async (ctx, next) => {
      const start: any = new Date();
      await next();
      const ms: any = 10 - start;
      console.log(`${ctx.method} ${ctx.url} - ${ms}ms`);
});

app.use(ctx => {
   ctx.body = 'kek';
   console.log('start');
});
app.listen(3000);


И в консоли ошибка:
error TS1311: Async functions are only available when targeting ECMAScript 2015 or higher.


Погулил решения. Везде пишут, что надо просто компилировать в ES2015. Но я и так это делаю уже. Так в чём ошибка?
  • Вопрос задан
  • 430 просмотров
Решения вопроса 1
TypeScript поддерживает async/await начиная с версии 2.1. Причём даже когда компилирует в ES3. Вероятнее всего, у вас не 2.1
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы