ホームページ  >  記事  >  ウェブフロントエンド  >  Nodejsでのawaitの使い方

Nodejsでのawaitの使い方

WBOY
WBOYオリジナル
2022-06-29 15:54:124032ブラウズ

nodejs では、await を使用して、非ブロック的な方法で実行を一時停止し、Promise の非同期リクエストを待機し、非同期メソッドの実行が完了するのを待機します。await は、非同期関数で使用して、非同期関数の戻り値 Value; Promise は失敗した拒否を返し、拒否値はスローされ、「try/catch」によって取得できます。

Nodejsでのawaitの使い方

この記事の動作環境: Windows 10 システム、nodejs バージョン 12.19.0、Dell G3 コンピューター。

nodejs で await を使用する方法

Async/await の使用法は Node.js 7 の夜に導入されましたが、async/await 関数を正式にアクティブ化できるのは Node.js 8 とJavaScript V8。

非同期/待機とは何ですか?過去に Promise を使用して非同期操作を実装する方法。次のケースは、Promise と Fetch API を使用してデータをキャプチャする方法を示しています:

function getTrace () { 
return fetch('https://www.jdon.com', { 
method: 'get' 
}) 
} 
getTrace() 
.then() 
.catch()

Using async/await, you can to stopexecuts in non-blocking way and wait Promise が失敗した拒否を返した場合、拒否値がスローされ、try/catch で取得できます。上記のケースは、async/await を使用して次のように記述できます。

function async getTrace () { 
let pageContent
try { 
pageContent = await fetch('https://www.jdon.com', { 
method: 'get' 
}) 
} catch (ex) { 
console.error(ex) 
} 
return pageContent
} 
getTrace() 
.then()

Node.js で async/await を使用し、setimeout を使用して関数の実行を遅延させ、async/await を使用するケースを見てみましょう。 encapsulation:

// app.js
const timeout = function (delay) { 
return new Promise((resolve, reject) => { 
setTimeout(() => { 
resolve() 
}, delay) 
}) 
} 
async function timer () { 
console.log('timer started') 
await Promise.resolve(timeout(100)); 
console.log('timer finished') 
} 
timer()

この app.js ファイルを作成して実行します:

node app.js

実行できない場合は、nodejs がナイトリー バージョンである可能性があります。公式には async/await をサポートしていません。コマンド ラインは次のようになります:

node --harmony-async-await app.js

推奨学習: 「nodejs ビデオ チュートリアル

以上がNodejsでのawaitの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。