非同期JavaScript(予約)

画像
JavaScriptに関する3つの質問に答えてください。 それらのいずれかがあなたにとって難しい場合は、Trevor Burnhamの優れた本であるAsync JavaScriptを読んでください。 ここでは90ページしかありませんが、JavaScriptイベントループ、同期/非同期、シングルスレッド/マルチスレッド(ワーカー)、約束、ファイバーなどのトピックがここでは興味深いです。

では、次のコードは何を生成しますか?
for (var i = 1; i <= 3; i++) { setTimeout(function(){ console.log(i); }, 0); }; 

答え
4
4
4

UPD 2番目の質問は削除されました-ブラウザでの異なる実装。

1秒あたりsetInterval(func, 0)はブラウザで何回(およそ)回動作しますか?
 var fireCount = 0; var start = new Date; var timer = setInterval(function() { if (new Date - start > 1000) { clearInterval(timer); console.log(fireCount); return; } fireCount++; }, 0); 

答え
250以下(ほとんどの場合240-250)

これがなぜそうなのか疑問に思うなら、答えは本の中にあります。

内容
  • はじめに
    • 楽園のトラブル
    • この本の対象者
    • JavaScriptを学習するためのリソース
    • どこで助けを求めますか?
    • コード例を実行する
    • 本書のコードスタイル
    • altJSに関する一言
    • この本のリソース

  • JavaScriptイベントについて
    • イベントのスケジュール
    • 非同期関数の種類
    • 非同期関数の作成
    • 非同期エラーの処理
    • ネスト解除コールバック
    • 私たちが学んだこと

  • イベントの配布
    • PubSub
    • イベントモデル
    • カスタムjQueryイベント
    • 私たちが学んだこと

  • 約束と延期
    • 約束の非常に簡単な歴史
    • 約束をする
    • コールバックへのデータの受け渡し
    • 進捗通知
    • 約束の組み合わせ
    • パイプを使用して未来にバインド
    • jQuery vs. 約束/ A
    • コールバックを約束に置き換える
    • 私たちが学んだこと

  • Async.jsを使用したフロー制御
    • 非同期注文の問題
    • 非同期収集メソッド
    • Async.jsを使用してタスクを整理する
    • 動的非同期キューイング
    • ステップ付きのミニマリストフロー制御
    • 私たちが学んだこと

  • ワーカーとのマルチスレッド
    • ウェブワーカー
    • クラスターを持つノードワーカー
    • 私たちが学んだこと

  • 非同期スクリプトの読み込み
    • 制限事項と注意事項
    • <script>タグの再導入
    • プログラムによる読み込み
    • 私たちが学んだこと

  • JavaScriptを使いこなすためのツール
    • タメジス
    • Stratifiedj
    • カフェイン
    • Streamline.js
    • ノードファイバー
    • JavaScriptの未来:ジェネレーター

Source: https://habr.com/ru/post/J207778/


All Articles