JavaScriptでWEBプログラミングをしていると、同期処理、非同期処理が混じるのでややこしい。 例えば、同期処理が三つ続く場合だと、順番に処理が進む。 これは普通の処理だ。 一方、非同期処理が混じると、処理1から実行された非同期処理2が実行中にもかかわらず同期処理3に行ってしまう。 まあ、これで問題ない場合もあるが、同期処理3が非同期処理2の結果を利用する場合には、これでは問題が起こる。 つまり、同期処理3を開始する時点で、非同期処理2が完了している事が保証されないからだ。 この記事ではJavaScriptのPromiseの機能を使って非同期処理の完了を待ってから次の同期処理を実行する手法を紹介したい。 同期処理が非同期処理の結果を使う典型的な例 例えば、以下のようなhtmlだと [クリック] ボタンが表示される。 <button onclick="func1()">クリック</bu
概要 Promiseとは非同期処理を上手く扱う為のAPIであり、パターンである。 非同期の処理の完了後に続けて処理を行いたいとき、よくコールバックパターンが使われるが、処理が連続するとコールバック地獄と言われる分かりづらいソースコードになってしまう。 また、複数の非同期処理が完了した時に処理を行うなど、コールバックパターンでは難しい事をスマートにできるのがこのPromiseである。 今まではDOMの方でDOM Promiseとして仕様策定が進められていたり、ライブラリのDeferredが有名だったが、ES2015標準に入ることになり、V8に実装された。 実装されたメソッド Promise.resolve(x) Promise.reject(x) Promise.all( [p1, p2, p3, ......] ) Promise.race( [p1, p2, p3, ......] )
公開2015.06.22 更新2017.12.03 仕事・技術 JavascriptのsetTimeout()を使って何らかの処理を遅らせて実行させたい場合のやり方です。 実現したいこと 今回はJavascript、html、CSSのオンラインエディタでリアルタイムプレビューをさせるようなシステムを作成しており、「キーボードが打ち続けられている間」はリアルタイムプレビューを行わず、「キーボードが押されなくなってから2秒後」にリアルタイムプレビューするようなイメージでした。 厳密にいえばリアルタイムプレビューではないですね(苦笑)。 指定時間毎に実行されるような自動保存機能に似ていますが、今回の制作物はキーが打ち続けられている間はタイマーのカウントが0に戻らなければならないという点がポイントです。 コード var timer = false; $('textarea').on( 'keyup
null は何かを返すべきですが、返すものがない場合。意図的に使われるものです。 undefined はただ何もない状態。定義されていない変数、オブジェクトの定義されていないプロパティ、何も return しない関数の返り値などは全て undefined です。 typeof の結果 console.log(typeof null); // object console.log(typeof undefined); // undefined var foo; console.log(foo === undefined); // true console.log(foo == null); // true (function () { var undefined = 12; console.log(undefined); // 12 console.log(foo === undefined
配列はプログラミングを行う上ではずすことができないものです。 使い方はプログラミング言語により多少の特色はありますが、大差はありません。 JavaScriptの配列は、いわゆる普通の配列と連想配列(ハッシュ配列)の二つがあります。 普通の配列は下の例の通り、要素の指定や追加・削除に0から始まる数字(インデックス)を指定して行います。 // 配列の初期化 var array = ['田中','佐藤','小池']; // 配列の最後尾に要素を追加する array[array.length] = '伊藤'; // 配列の要素を順番に表示する for (var i = 0; i < array.length; i++) { document.write ("配列の" + i + "番目の要素:" + array[i] + "<br>"); }
こちらも合わせてお読みください namu-r21.hatenablog.com namu-r21.hatenablog.com dockerのイメージとコンテナについて今一度 先日書いたdockerを触ってみる - 1++で,イメージとコンテナについて以下のように述べた. イメージとコンテナについて * イメージ : 仮想環境の雛形 * コンテナ : イメージから作られた実際の仮想環境 今一度調べていくとこの表現はあまり正しくない. dockerイメージは, 雛形ではなかった . dockerイメージは, ファイルシステム全体の状態を保持したスナップショットと表現した方が正しい. OS(ファイルシステム), アプリケーション, 内部のデータまでを写真で切り取ったかのように全て記録した状態がイメージである. dockerコンテナとは, そのdockerイメージを動作させたものを指す. つまり
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く