Typescript: ターゲット> = ES2015の場合、名前が衝突するヘルパー関数で出力が正しくありません

作成日 2019年09月23日  ·  3コメント  ·  ソース: microsoft/TypeScript


TypeScriptバージョン: 3.6.3


検索用語:ヘルパーの名前の変更

コード

// <strong i="13">@target</strong>: es2015

declare function __awaiter(): void;
class C {
    async func() {
    }
}

予想される行動:
生成されたコードが機能しないことをユーザーに通知する(ターゲットがヘルパーを必要とする場合)何らかのエラーが発行されるか、ヘルパーが別の名前で発行される可能性があります。

実際の動作:
放出は__awaiter関数を宣言しますが、 __awaiter_1を呼び出そうとします。

遊び場リンク:ここ

関連する問題:

Bug

最も参考になるコメント

修正:アンダースコアを追加します😅

全てのコメント3件

修正:アンダースコアを追加します😅

これに関するニュースはありますか? プルしたnpmパッケージにすでにヘルパー__awaiter定義されていたため、呼び出しが__awaiter_1変更されたが、 __awaiter_1関数が定義されなかったときに、同様の問題が発生しました。 コンパイル後に__awaiter_1 = __awaiterを設定するために、ハックのビルド後スクリプトを作成する必要がありました。これが修正されれば素晴らしいでしょう。

これは、#36541で修正された#33269の複製のようです。

このページは役に立ちましたか?
0 / 5 - 0 評価