問題タブ [ecmascript-2016]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
5081 参照

typescript - Decorator を使用して実装されたインターフェースのリストを取得する

デコレータを使用して、クラスによって実装されたインターフェイスの配列を取得できるかどうか知っていますか?

したがって、次のようなことをすると:

["INinja", "IWarrior"]実行時に、Ninja は?を含む注釈を持ちます。

ありがとう

0 投票する
1 に答える
245 参照

javascript - 複数の呼び出し非同期関数の伝播を解決します

非同期関数の s を呼び出し元にバブルアップさせようとしましたがreject、何らかの理由で機能しません。テスト済みのコード例を次に示します。

Chrome では毎回これが表示されます: Unhandled promise rejection ###rejected.

なぜこれが起こっているのですか?より高いレベルからスローされたすべてのエラーを処理できるようにしたいと考えていますdo2()(上記の例は、try/catch が indo2()および wrapsの場合に正常に動作しますawait this.do3();)。ありがとう!

編集:もう少し明確にするために、次のように try/catch を取り出して挿入するとdo1()do2()すべて正常に動作します。

0 投票する
2 に答える
2646 参照

javascript - これをハードコーディングしないようにするにはどうすればよいですか? デコレータで

「typescript デコレーターの実装方法」を読みました。複数のソースがありますが、デコレータではできなかったこともあります。

関数を呼び出すとfoo:

オブジェクトFooBarは in によってコンソールに記録されconsole.log(this);ますfoo

文字列"FooBar {foo: function, bar: function} bar test"は in によってコンソールに記録されconsole.log(this, "bar", arg);ますbar

それでは、デコレータを使用しましょう。

同じ関数を使用しますが、装飾されています。

fooそして、以前と同じように呼び出します。

オブジェクトWindowは in によってコンソールに記録されconsole.log(this);ますfoo

Andは、cause causeによってbar呼び出されるfooことはありません。this.bar(arg);Uncaught TypeError: this.bar is not a function

問題は、デコレータthis内にハードコーディングされていることです:log

this元の値を保存するにはどうすればよいですか?

0 投票する
3 に答える
405 参照

javascript - ES7 async/await の概念上の問題

このスタイルを学ぶために、既存のプログラムをasync/awaitを ( 経由でBabel)使用するように移行しています。bluebirdCoroutines私はこのチュートリアルを見てきました。

以下の動作に少し困っています。このスニペットは期待どおりに機能します。

次のように書き直すと、まだ機能しますが、最初の操作はもはや並列ではありません (完了するまでにはるかに時間がかかります)!

これはの実装ですdlPart()

私は何が欠けていますか?

0 投票する
8 に答える
142677 参照

javascript - `window.location.hash.includes` を使用すると、IE11 で「オブジェクトはプロパティまたはメソッド 'includes' をサポートしていません」がスローされる

?ウィンドウ内のハッシュ ポップ状態を制御するために、URL に が含まれているかどうかを確認しています。IE だけで、他のすべてのブラウザには問題がありません。

この方法でロードしようとすると、デバッガーから次のエラーが表示されます。

includesオブジェクトはプロパティまたはメソッド ' 'をサポートしていません

popstate からページを読み込んでもエラーは発生しません。

0 投票する
1 に答える
3457 参照

node.js - 非同期関数が完了する前にノードが終了する

promise を返す関数があり、非同期関数内からそれを待機しようとしています。問題は、プロミスを待つのではなく、プログラムがすぐに完了することです。

async-test.js:

ビルドして実行:

結果:

1 秒待つのではなく、すぐに解決しても効果はありません。

興味深いことに、「解決中」は、現在は同期されていますが、出力されません。

コンパイラの問題が疑われますが、Babel の出力を確認したところ、確かに、同期バージョンがコンパイルされました。

非同期関数内からの約束を待つことができると思いました。私がここに欠けているものはありますか?