問題タブ [ecmascript-2017]
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.
javascript - 引数チェック用の関数としてデフォルトパラメータを使用して非同期関数を呼び出すと、同期処理されますか?
呼び出し時の評価で非同期関数とデフォルト パラメーターを使用しています。
デフォルトのパラメーターを使用して、関数を使用して値が提供されているかどうかを確認します。
このテストは次のエラーで失敗します。
Error: Missing parameter: b
ここでわかるように、この例外は非同期フローの外側でスローされるためです。
私の質問: これは仕様ごとですか、それとも実装ごとですか? 私は約束が投げられるのではなく、拒否されることを期待しています。
webpack - webpack は async/await キーワードをサポートしていません
通常、webpack + babel を使用して、この構成で es6/7 コードを変換します。
それは完全に機能します。コードは Chrome/Firefox/Edge/Safari で実行できます。(IEは忘れましょう。)
ただし、Chrome 55 は、async/await をネイティブでサポートするようにリリースされています。そこで、「プリセット」から「es2017」を削除します。
次に、webpack は「 SyntaxError : Unexpected token」と文句を言います。
私の質問は、jsx のネイティブの async/await 機能をどのように利用できるでしょうか?
javascript - Angular 1.5 && Async/Await && jasmine テスト
私はすでにどこでも見ましたが、私の特定のケースではまだ解決策を見つけることができませんでした.
単体テストには angular 1.5 と Karma/Jasmine セットアップを使用しています。最初のソース コードでは、コントローラーで ES2017 async/await を使用しました。最後に $digest の $apply を手動で追加する限り、それはうまくいくように見えました。たとえば、次のようになります。
この特定の関数の自動テストを作成するために、DataService.getData を Jasmine の .xml でモックしてみましたspyOn
。だから、私はこのようなことをしました:
スパイの追加は機能しましたが、テストを実行すると、コードが攻撃されて解決されないようfakeResult
です。テスト自体に $digest/$apply を追加しようとしましたが、修正できませんでした。私も色々調べましたが、未だによくわかりません。
誰かが手がかりを持っていますか?
編集:promiseで同じメソッドをテストしても$q
うまくいきますが、本当にasync/awaitを使いたいです...
javascript - Angular で、async/await を使用するときに promise の拒否を処理する方法
Angular で promise を使用すると、コードは次のようになります。
async/await になると、コードは次のようになります
ただし、これは約束が解決された場合のみです。約束が拒否された場合、どうすればよいですか?ありがとう
javascript - 一般的なループでのjavascript async/await
この例をhttps://stackoverflow.com/a/33585993/1973680同期にしたいと思います。
これは正しい実装ですか?
myfunc
それ自体は、他のさまざまな関数を待機している非同期関数です。
javascript - これは、予期しないトークンエラーをスローするのを待ちます
私は簡単なasync
機能を持っています。リクエストを送信してデータを返すだけです。
そして、これは私が関数を使用している方法です:
catch
問題は、内部にエラーがある場合に実行されるコードthen
です。しかし、この方法では、キャッチエラーがリクエストエラーなのか、それとも内部のコードによってトリガーされたエラーなのかわかりません。
私はその問題を解決しようtry
としています:catch
ただし、次の行で予期しないトークン エラーが発生します。await this.updatePanorama(payload)
私は何を間違っていますか?
javascript - node async/await -- try/catch は必要ですか?
ノードで async/await をいじっているだけですが、約束を待っていて拒否された場合、それがスローされるようです。私が気付いていない try/catch ブロックに戻るよりもクリーンなパターンがあるかどうか疑問に思っていますか?
javascript - Async/Await で停止するコードを制御する
async
を使用して関数外のコードを停止できますawait
か? ただし、すべてのコードを停止したくはありません。実行するコードを制御したい。
次のような解決策があると思います。
ただし、私は多くの機能を持っており、これをすべての機能に適用したくありません。
より良い解決策はありますか?そうでない場合、時間を短縮するためにできることはありますか?