問題タブ [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 - ES2017 Async/await 関数 - promise でのみ機能しますか?
私は自分の js アプリケーションで ES7 関数を使い始めましasync/await
た (Babel によってトランスパイルされました)。
間違っている場合は修正してください。ただし、Promises でのみ機能しますか? はいの場合、これは、通常のコールバック関数を Promises にラップする必要があることを意味します (ところで、現在行っていること)。
javascript - ES2017 - 非同期と歩留まり
await
次の EcmaScript にasync 関数とキーワードを追加するという現在の議論について混乱しています。
async
キーワードの前にキーワードが必要な理由がわかりませんfunction
。
私の観点からすると、キーワードはジェネレーターまたはプロミスの完了await
を待つため、関数で十分なはずです。return
await
async
追加のマーカーなしで、通常の関数とジェネレーター関数内で簡単に使用できる必要があります。
の結果として使用できる関数を作成する必要がある場合はawait
、単にプロミスを使用します。
私の質問の理由は、次の例が由来するこの良い説明です。
関数の実行が、すべての await が満たされるまでホール関数の終了を待機する場合は、通常の関数として実行することもできます。
私の意見では、次のティック(フルフィルメントを待つ)が完了するまで、関数全体の実行が保持されます。Generator-Function との違いは、next() がオブジェクトの値と完了フィールドをトリガーして変更することです。代わりに、関数は完了時に結果を返すだけで、トリガーは while ループのような関数内部トリガーです。
ecmascript-6 - await は、非同期呼び出しが完了するまで待機していないようです
呼び出しを使用する非同期関数があり、を使用すると、受け取った値まで関数の実行を一時停止する必要がawait
あると思いました。await
どういうわけか、それは私にはうまくいきません。
これが私の関数です(クラス内にあります):
そして、同じクラス内の別の関数で呼び出す方法は次のとおりです。
したがって、次の出力が得られます。
INSIDE: true
最初に印刷されると予想される値ですが。
基本的にuserExists
、関数からブール値を取得し、userExistsInDB
それを他のコードで使用する必要があります。
ここで何が間違っていますか?
javascript - ストリームで ES8 async/await を使用するには?
https://stackoverflow.com/a/18658613/779159は、組み込みの暗号化ライブラリとストリームを使用してファイルの md5 を計算する方法の例です。
しかし、ストリームを使用する効率を維持しながら、上記のコールバックを使用する代わりに ES8 async/await を使用するように変換することは可能ですか?
ecmascript-6 - (ES6) クラス (ES2017) async / await getter
ES6 クラスのゲッターが ES2017 の await / async 関数から値を返すようにすることは可能ですか。
javascript - async/await モッキング
テストで async/await を使用してこのようなことができるかどうか疑問に思いました。
通常の約束を使用すると、たとえば、このような単体テストで約束をモックできます。
(約束を上書きすれば、フラッシュなどに対処する必要はありません。) しかし、今、 fn() がこれに変わるとき
beforeEach で行った上書きは、もう機能しません。ここでの私の質問は... async/await コード スタイルを使用した promise の上書きで行ったようなことを行うことはできますか?
ここでのアイデアは、「someService」のように、単体テストを行っている関数が使用する外部依存関係をモックアウトしたいということです。その特定の単体テストでは、 someService.someFn が適切に機能することを期待しており、その応答をモック化できます。他のテストでは、「someFn」の有効性を確認します。
javascript - forEach ループで async/await を使用する
async
/await
をforEach
ループで使用する際に問題はありますか? await
ファイルの配列と各ファイルの内容をループしようとしています。
このコードは機能しますが、何か問題が発生する可能性はありますか? このような高階関数でasync
/を使用することは想定されていないと誰かに言われたので、これに問題があるかどうかを尋ねたかっただけです。await
javascript - チェーン非同期関数
非同期関数では、次のように非同期値を取得できます。
const foo = await myAsyncFunction()
結果に対してメソッドを呼び出したい場合は、同期関数を使用して次のようにしますmyAsyncFunction().somethingElse()
非同期関数で呼び出しをチェーンすることは可能ですか、それとも結果ごとに新しい変数を割り当てる必要がありますか?
javascript - setTimeout で async を使用することは有効ですか?
Javascript に非同期関数があり、それに setTimeout を追加しました。コードは次のようになります。
setTimeout の目的は、関数が実行される前に 2 秒を追加することです。ユーザーが入力を停止したことを確認する必要があります。
とにかく setTimeout は非同期なので、この関数から async/await を削除する必要がありますか?