現在、私のコンストラクタ内でコールバックを使用して非同期関数を実行しようとしています。私はそのコールバックからデータを取得し、クラスのインスタンスを作成するときにそれを使用する必要があります。私のコードは、現在、次のようになります。非同期コールバック内のコール
class Foo extends Bar {
constructor(data) {
someAsyncCall((response) => {
data.a = response;
super(data);
});
}
}
すべてのヘルプは大歓迎です:)
が
あなたのスーパーはどこですか? – Piyush
@ P.K。 superはES6キーワードです.https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/super – mhodges
非同期呼び出しが開始されるまでに、親クラスは既に構築されていますが、 「スーパー」と呼ぶのは遅すぎる。 'super'はコンストラクタ内の最初の呼び出しでなければなりません(あるいは、少なくとも' this'が使われる前に呼ばれなければならない)という理由があります。 –