Как мне заставить асинхронные функции работать в typescript Ionic 2?

#typescript #ionic2

#typescript #ionic2

Вопрос:

Когда я создаю новый проект Ionic —v2 и использую async function объявление, ionic build browser происходит сбой с:

db.ts:15:16: Async functions are only available when targeting ECMAScript 2015 or higher.

Я бы подумал, что изменение tsconfig.json ‘s target на es6 решит проблему, но это не так. Что я могу сделать, чтобы решить эту проблему, чтобы я мог использовать async/await ее в своих проектах Ionic?

Комментарии:

1. При дальнейшем исследовании похоже, что ionic 2 блокирует es5 в качестве цели для предотвращения ошибок в Angular. Пока не выйдет Typescript 2.1, кажется, что async / await исключены ( react-etc.net/entry /… ).

2. Пожалуйста, отметьте, что ответ принят

Ответ №1:

Es6 работает, если вы выбираете свой модуль как es2015, а не commonjs.

Это, конечно, помешает вашей поддержке некоторых мобильных устройств, потому что не все из них поддерживают es6, особенно safari, поэтому вам придется разбивать свой код, что добавит ему изрядный вес.

Если вы хотите, вы можете остаться на es5 и указать typescript 2.1 в вашем package.json. К сожалению, это не позволит вам использовать конфигурацию aot или prod, но в остальном это работает.

С выходом angular v4, надеюсь, кто-нибудь обновит скрипты приложений для поддержки 2.1.

Комментарии:

1. Это все еще так?

2. Вы больше не столкнетесь с указанной проблемой. Более поздние версии включали плавное использование