第8週async

2060 ワード

パラレルとシリアル(パラレル、waterfull)

asyncは、非同期javascript操作に簡単で強力な機能を提供するユーティリティモジュールであり、javascript非同期論理をより簡単に記述できるライブラリです.
並列実行

async.parallel(tasks, callback)

  • [ tasks ] :
    実行する関数の集合.
    配列、オブジェクト、またはイテレーションです.
  • [ Callback ] :
    すべてのタスクの実行が完了した後にコールバックされ、すべてのタスクの結果が渡されます.
  • async.パラレル()->パラレル実行


    前のタスクの完了を待たずに、複数のタスクを独立して実行します.
    すなわちjavascriptでの基本的な動作のように、1つのコードが実行されると、次のコードは同じラインで実行されるのではなく、同じラインとは独立して複数のコードを同時に起動します.
    これは、callbackをパラメータとして、アレイ(タスク)で処理したい非同期タスクを宣言する最も一般的な並列処理方法です.
    最後に定義されたtasks関数は、すべてのcallbackが完了するまで実行されません.
    同時に実行されるので、各taskは独立して実行され、resultsはすべての関数の結果を格納する.
      async.parallel([task1, task2, task3], function(err, results) {
      	// code.. parallel 완료 콜백
      });
    👉 非同期タスクを同時に実行した後、すべてのタスク(タスク)が終了した後に完了関数(コールバック)を実行します.tasksの実行中にエラーが発生した場合、taskの実行を停止し、callback関数が直ちに呼び出され、パラメータにエラー内容が埋め込まれ、渡されます.最後のcallback関数はnullであり、通常はすべてのtasksが正常に呼び出され、nullでなければ、tasksの実行中にエラーが検出されてエラー処理が行われる.
    いずれかの関数がコールバックにエラーを渡した場合(コールバックの最初のパラメータがnullではない場合)、デフォルトのコールバックがエラー値として呼び出されます.しかし、すべての機能が実行されます.
    エラーが関数のコールバックに渡されると、すぐにデフォルトのコールバックが呼び出され、エラーが表示されます.パラレルはI/Oタスクのパラレル起動ですが、Javascriptは単一スレッドであるため、パラレル実行ではありません.
    出典:https://bcho.tistory.com/1083[曹大侠ブログ]
  • 参考資料
  • シリアル実行

    waterfall


    今回知るべき方法はwaterfallです.名前で推測したように、定義されたタスクの結果は次のタスクに渡され、順番に処理されます.
    次の例は、add 10を順次実行して10を加算するコードである.
  • 参考資料www.nextree。co.kr/p7292