Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

Javascriptの非同期関数とノードイベントループ


非同期関数プログラムは引き続き実行されます 。待たない!このようにして、ユーザーの待ち時間が短縮されます。また、プログラミング言語としてのJavascript自体は非同期です。

たとえば、コードで高額なリクエストを実行している場合、これには多くの時間がかかる可能性があります。非同期関数の場合、待機時間が長すぎて、ユーザーはそうしません。他のことも実行できるようになります!

したがって、一般的に、費用と時間のかかる操作を実行する場合は、非同期コードを使用することをお勧めします。

javascriptのAnyncronous関数の例を見てみましょう

console.log('One');
jQuery.get('page.html', function (data)
{
   console.log("Two");
});
console.log('Three');

出力

One, Two, Three

それでは、Nodeのイベントループとは何かを見てみましょう。

イベントループは、スレッドスケジュール内に作成されます。このスケジュールでは、スレッドが任意の時点で実行する必要があります。

Node.jsアプリケーションは、着信接続、I / O完了、タイムアウトの有効期限、Promise解決などのさまざまなイベントに反応して実行されるコールバックで構成されます。 メインスレッド(現在はイベントループであることがわかっています)は、これらすべてのコールバックを実行します。

イベントループが実行されているとき、ノードは反復ごとに非同期I/Oまたはタイマーを待機しているかどうかを確認します。そして、何も見つからない場合、ノードはそれらをシャットダウンします。


  1. JavaScriptのencodeURI()およびdecodeURI()関数。

    encodeURI()関数は、(、/?:@&=+ $#)文字を除く特殊文字を含む完全なURIをエンコードします。 decodeURI()関数は、encodeURI()関数によって生成されたURIをデコードします。 以下は、JavaScriptのencodeURI()およびdecodeURI()関数のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport&q

  2. JavaScriptで非同期ループを実装する方法は?

    以下は、JavaScriptで非同期ループを実装するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> &nbs