タグ

非同期処理に関するhigedのブックマーク (2)

  • Promiseとasync/awaitでJavaScriptの非同期処理をシンプルに記述する

    JavaScriptにおける非同期処理は一種の悪夢です。非同期処理は容易にコードを複雑化させ、品質の低下を招きます。そこでこの問題を解決するため、非同期処理を簡単に扱うことができる、Promiseやasync/awaitという機能が導入されました。この記事では、Promiseとasync/awaitを用いた非同期コードの単純化について簡単な解説をします。 実行順序がコード通りにはならない非同期処理 非同期処理とは何でしょうか。非同期な処理は、コードの順番通りには実行されません。どういうことか、簡単な例を見てみましょう。 setTimeout(() => console.log('hello'), 500); console.log('world!'); このコードでは500ミリ秒後に「hello」と表示し、その後に「world」を表示しようとしています。ですが、実際には「world」の後に

    Promiseとasync/awaitでJavaScriptの非同期処理をシンプルに記述する
  • JavaScriptでの非同期関数合成 - monjudoh’s diary

    Unserscore.jsや互換ライブラリのLo-Dashを使うと関数合成が出来ます。 複数個の関数があって、関数を呼び出した結果を使って関数を呼び出して…っていうのを1個の関数にします。 ドキュメントの例を見れば分かるかと。 簡略化のために関数合成の対象になる関数を1引数・戻り値ありの関数とします。 これを非同期処理をする関数に当てはめるとcallbackを含む2引数・戻り値なしの関数が当てはまるでしょう。 この場合のcallbackは1引数の関数とします。 まず、logを出力するcallback関数を定義しましょう。 function log(result){ console.log(result); } 次にcallbackを含む2引数・戻り値なしの関数を定義します。別に非同期処理はやっていないです。 // 1を足す function add1(callback,arg){ call

    JavaScriptでの非同期関数合成 - monjudoh’s diary
  • 1