vueでのawaitの使い方は何ですか?
vue では、await は待機を意味します。await キーワードは、async 関数内にのみ配置できます。async とともに await を使用することは、非同期関数を同期関数に変えることと同じです。await は次の式を待ちます。次のステップは結果が返された後にのみ実行されます。
この記事の動作環境: Windows 10 システム、Vue バージョン 2.9.6、DELL G3 コンピューター。
vue での await の使用法とは何ですか
まず async の使用法について話しましょう. async は、関数が非同期関数であることを示すキーワードとして関数の前に置かれます。 async は 非同期 を意味するため、非同期関数は、関数の実行が次のコードの実行をブロックしないことを意味します。非同期関数を作成する
async function timeout() { return 'hello world'; }
構文は非常に簡単です。関数の前に async キーワードを追加して、関数が非同期であることを示すだけです。呼び出し方法は? async 関数も関数です。通常の関数の使用方法と同じように使用できます。括弧を使用して直接呼び出すだけです。背後のコードの実行をブロックしないことを示すために、
という文を追加します。非同期関数呼び出し後のconsole.log; async function timeout() { return 'hello world' } timeout(); console.log('虽然在后面,但是我先执行');
開く ブラウザ コンソールに
非同期関数のタイムアウトが呼び出されていますが、出力はありません。「hello world」は返されません。心配しないでください。 、 timeout() の実行が何を返すか見てみましょう。上記の timeout() ステートメントを console.log(timeout())
async function timeout() { return 'hello world' } console.log(timeout()); console.log('虽然在后面,但是我先执行');
に変更します。引き続きコンソールを確認します。
非同期関数は Promise オブジェクトを返します。Promise の戻り値を取得したい場合は、then メソッドを使用してコードの変更を続ける必要があります。
async function timeout() { return 'hello world' } timeout().then(result => { console.log(result); }) console.log('虽然在后面,但是我先执行');
コンソールを見てください
async function timeout(flag) { if (flag) { return 'hello world' } else { throw 'my god, failure' } } console.log(timeout(true)) // 调用Promise.resolve() 返回promise 对象。 console.log(timeout(false)); // 调用Promise.reject() 返回promise 对象。
関数内でエラーがスローされた場合、オブジェクトにはキャプチャ用の catch メソッドがあります。キーワードがもうすぐ完成します。もう一度 await キーワードを考えてみましょう。await は待つことを意味します。では、何を待つのでしょうか? そしてその後に何が続くのでしょうか? 実際、この後に任意の式を置くことができますが、次のような式を置く可能性が高くなります。 Promise オブジェクトを返します。await キーワードは非同期関数にのみ配置できることに注意してください。
ここで関数を作成し、Promise オブジェクトを返させます。この関数は、2 秒後に値を 2 で乗算するものです
timeout(false).catch(err => { console.log(err) })
// 2s 之后返回双倍的值
次に、await キーワードを使用できるように、非同期関数を作成します。await の後に配置されるのは、Promise オブジェクトを返す式なので、その後に DoubleAfter2秒関数呼び出し
function doubleAfter2seconds(num) { return new Promise((resolve, reject) => { setTimeout(() => { resolve(2 * num) }, 2000); } ) }
を記述できます。コンソールを開くと、2 秒後に 60 が出力されます。
次に、testResult 関数を呼び出して、await、await 表現などに遭遇するコードの実行プロセスを見てみましょう。ここで一時停止し、下方向への実行は行われません。何を待っていますか?後続の Promise オブジェクトの実行が完了するまで待機し、Promise Resolve の値を取得して戻ります。戻り値を取得した後、下方向への実行を継続します。私たちのコードに特有のことですが、await が発生した後、コードは実行を一時停止し、doubleAfter2秒(30) が実行を完了するまで待機します。doubleAfter2秒(30) によって返された Promise が実行を開始します。2 秒後、Promise は解決され、値 60 を返します。このとき、await は戻り値 60 を取得し、それを result に代入し、一時停止が終了した後、コードは実行を継続し始め、console.log ステートメントを実行します。
この関数では、async/await の役割が見えないかもしれませんが、3 つの数値の値を計算して、得られた値を出力したい場合はどうすればよいでしょうか?
async function testResult() { let result = await doubleAfter2seconds(30); console.log(result); } testResult();
6 秒後、コンソールは 220 を出力します。非同期コードの作成は同期コードの作成とまったく同じであり、コールバック領域がなくなっていることがわかります。
注:
async と await は Promise に基づいています。 async を使用する関数は常に Promise オブジェクトを返します。これは間違いを犯しやすい場所である可能性があることを覚えておくことが重要です。
await を使用すると、コード全体ではなく関数が一時停止されます。
async と await はノンブロッキングです。
Promise.all() などの Promise は引き続き使用できます。
[関連する推奨事項:「
vue.js チュートリアル」]
以上がvueでのawaitの使い方は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









HTMLテンプレートのボタンをメソッドにバインドすることにより、VUEボタンに関数を追加できます。 VUEインスタンスでメソッドを定義し、関数ロジックを書き込みます。

vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

vue.jsでJSファイルを参照するには3つの方法があります。タグ;; mounted()ライフサイクルフックを使用した動的インポート。 Vuex State Management Libraryを介してインポートします。

Vue.jsの監視オプションにより、開発者は特定のデータの変更をリッスンできます。データが変更されたら、Watchはコールバック関数をトリガーして更新ビューまたはその他のタスクを実行します。その構成オプションには、すぐにコールバックを実行するかどうかを指定する即時と、オブジェクトまたは配列の変更を再帰的に聴くかどうかを指定するDEEPが含まれます。

VUEマルチページ開発は、VUE.JSフレームワークを使用してアプリケーションを構築する方法です。アプリケーションは別々のページに分割されます。コードメンテナンス:アプリケーションを複数のページに分割すると、コードの管理とメンテナンスが容易になります。モジュール性:各ページは、簡単に再利用および交換するための別のモジュールとして使用できます。簡単なルーティング:ページ間のナビゲーションは、単純なルーティング構成を介して管理できます。 SEOの最適化:各ページには独自のURLがあり、SEOに役立ちます。

vue.jsには、前のページに戻る4つの方法があります。$ router.go(-1)$ router.back()outes< router-link to ="/" Component Window.history.back()、およびメソッド選択はシーンに依存します。

Vue Devtoolsを使用してブラウザのコンソールでVueタブを表示することにより、Vueバージョンを照会できます。 NPMを使用して、「NPM List -G Vue」コマンドを実行します。 package.jsonファイルの「依存関係」オブジェクトでVueアイテムを見つけます。 Vue CLIプロジェクトの場合、「Vue -Version」コマンドを実行します。 < script>でバージョン情報を確認してくださいVueファイルを参照するHTMLファイルにタグを付けます。

VUEの関数傍受は、指定された期間内に関数が呼び出され、パフォーマンスの問題を防ぐ回数を制限するために使用される手法です。実装方法は次のとおりです。LodashLibrary:Import {Debounce}から「Lodash」からインポート。 debounce関数を使用して、インターセプト関数を作成します。インターセプト関数を呼び出すと、制御関数は500ミリ秒でせいぜい1回呼び出されます。
