問題タブ [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.

0 投票する
0 に答える
29 参照

javascript - async/await を使用した遅延ロード

このコードを使用してロードします.eslintrc:

だから私はこのように私のファイルをlintしています:

ここでの問題は、コードが非同期であるため、最初awaitに見つかった後に停止し、同期コードを保持し、結果が次のようになることです。

結果が得られるまで非同期関数を停止する方法はありますか?

私はgetLintOptions外側のforEachループを動かそうとしました:

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

javascript - ES2017 のトランスパイルおよびバンドル時の Babel/Rollup エラー

Rollup と Babel を使用してES2017JavaScript (特にasync/await関数) をトランスパイルするときにエラーが発生します。ES5

「babel」プラグインで \src\index.js を変換中にエラーが発生しました: オプション {"modules":false} が \node_modules\babel-preset-es2017\lib\index.js に渡されましたが、これはオプションを受け入れません。

私の.babelrcファイル:

当然、presetsからes2017に変更してコードes2015をコメントアウトすると、エラーはなくなりasync/awaitます。

アプリケーションはES2017機能 (つまりasync/await) を使用しますが、NPM パッケージとして (ES6 (ES2015)モジュールとして) 公開され、後でジェネリックにトランスパイルされることに注意してES5 (ES2009)ください。

どうすればこのエラーを回避し、ES2017楽しくトランスパイルできES5ますか?

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

javascript - 非同期関数をトランスパイルせずに typescript をコンパイルする

TypeScriptコンパイラを使用して型注釈を削除するだけで、非同期関数をトランスパイルしない方法はありますか? { target: 'esInfinite' }オプションみたいなもの?理由は: 既に async 関数をサポートしているブラウザーがあるため、それらの関数が影響を受けないビルド ターゲットが必要です。

入力例:

出力例:

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

react-native - ロード画面との非同期関数

次のようにコンストラクターで状態を設定しています-これは、「データを取得しています...」というテキスト用です。

次に、このような非同期関数があり、データを取得します。

isLoading 状態を false に設定し、読み込み中のテキストを非表示にしてデータを表示できるタイミングを知るにはどうすればよいですか? ここにいくつかのピースが欠けているようです!

ありがとうジョーダン

0 投票する
9 に答える
282870 参照

javascript - Array.map で async await を使用する

次のコードがあるとします。

次のエラーが発生します。

TS2322: タイプ 'Promise<number>[]' はタイプ 'number[]' に割り当てられません。タイプ 'Promise<number> はタイプ 'number' に割り当てられません。

どうすれば修正できますか?どうすれば一緒に作っasync awaitたりArray.map作業したりできますか?

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

javascript - return キーワードなしで非同期関数を解決することは可能ですか?

async/await非同期タスクを処理するための最良のアプローチを提供し、コードをよりクリーンで読みやすいものにする ES7 機能 の使用を開始しました。

ただし、非同期関数によって作成された Promise へのアクセスは提供されないため、非同期関数で非同期要求を行う場合は、それを約束し、それを待ってから結果を返す必要があります。私はこれを意味します:

関数によって作成された Promise へのポインターを見つけて、コードが次のようになるとしたらどうでしょうか。

あるいは:

このようにして、Promises API に直接アクセスする必要がないため、コードはタスクに完全に集中することができます。

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

javascript - ES8すぐに呼び出された非同期関数式

これらのコンストラクトがあまり使用されているのを見たことはありませんが、通常はプロミスを返さない関数で async / await を使用するためにそれらを作成していることに気付きました。たとえば、

とは対照的に

また

これは「もの」ですか?ここに注意すべき落とし穴はありますか?この種の状況での async / await の使用に関するローダウンは何ですか?

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

javascript - ネストされた async/await 関数からのエラーのキャッチ

node 4.3スクリプトに、コールバック -> promise -> async/await -> async/await -> async/await のような関数チェーンがあります。

そのようです:

(完全ではない理由はasync/await、最上位の関数がタスク キュー ライブラリであり、表向きは実行async/awaitスタイルにできないためです)

etcFunction()がスローされた場合、errorバブルはトップレベルまで上がりますPromiseか?

そうでない場合、どうすればバブルアップできerrorsますか? そのように、そこからandでそれぞれawaitをラップする必要がありますか?try/catchthrow