タグ

jQueryとasyncに関するclavierのブックマーク (5)

  • コールバック……駆逐してやる…この世から…一匹…残らず!! - Qiita

    このテキストは JavaScript のコールバック地獄に疲れたひとのためのコールバック駆逐術指南書です。対象読者は JavaScript道初段くらいの人です。このテキストを読むと、以下のそれぞれの手段における非同期処理制御の仕組み、利点および欠点がわかるようになるかもしれません。 コールバック地獄 jQuery.Deferred async.js Concurrent.Thread generators co fibers Web Workers (※なぜか『進撃の巨人』の一部ネタバレが含まれるので注意してください) それは『何故人はコールバックするのか』という話でしょうか? 非同期処理って面倒ですよね。JavaScriptではいわゆる コールバック地獄 というやつにしばしば陥りがちです。たとえば、Ajax でふたつのファイル hoge.txt と piyo.txt を持ってきて、それら

    コールバック……駆逐してやる…この世から…一匹…残らず!! - Qiita
  • jQueryのAjaxでxmlをパースする - omnioo lab.

    xmlのパースは今までphpsimple_xmlみたいなものを使ってきましたが、なかなかこれだけでは仕事にならないというのもあって、最近はAjaxで処理してしまうという頻度が非常に増えています。実際はHTMLに吐き出される情報がローカルのみなのでHTMLソース時代には何も書かれていないというのが、問題なんだか問題じゃないんだか、むしろその方がいいのか...って話ですが、いわゆる素人さんにはそんなこと全然関係なくて、ただただ見てくれがいいという問題が最終的な落とし所になるので、Ajaxでいいじゃないかということになります。 $.ajaxメソッドを使う jQueryでxmlをパースするときは、$.ajaxメソッドを使います。かなり楽チンです。このメソッドはjQueryのプラグインみたいに使える(というか、Pluginはメソッドなのですが)ので、適当なオプションを与えるだけでかなり簡単に使え

  • jQueryのDeffered/Promiseを会得した(いまごろ) - ただのにっき(2013-04-17)

    ■ jQueryのDeffered/Promiseを会得した(いまごろ) なんか最近、やたらと非同期処理の文脈で「promise」というキーワードを見ることが増えて、なんか流行ってんのかなーくらいにしか思ってなかったんだけど、実はjQuery.ajaxを使っているときに恩恵を受けていたことを(いくつか実装してみて)ようやく理解したのであった。Deffered/Promiseが実装されたのは、もう2.0もなろうというjQueryが1.5のころの話である。鈍すぎる……。 というのも、あんまり理解せずにコピペしていたからなんだよな。かつてはこんな感じに書いていたjQuery.ajaxの呼び出しが: jQuery.ajax({ type: 'POST', url: '/', ..., success: function(){...}, error: function(){...} }); 何かのソ

  • JSテストツールJasmineをCoffeeScriptで使う(少し応用的な使い方) - Qiita

    以下のSlideShareが大変参考になったので備忘を兼ねてCoffeeScript版を書いてみた。 JS開発におけるTDDと自動テストツール利用の勘所 http://www.slideshare.net/KojiNakamura/jstdd 目次 1. Matcher概観 2. beforeEach / afterEach 3. Spy 4. Async Test 5. jQuery code test 1. Matcher概観 notで否定のMatcherとなる expect(x).toEqual(y) expect(x).not.toEqual(y) expect(x).toBe(y) toBeは === による等値チェック expect(x).toMatch(pattern) expect(x).toBeDefined() expect(x).toBeUndefined() expec

    JSテストツールJasmineをCoffeeScriptで使う(少し応用的な使い方) - Qiita
  • jsDeferredの実行順序とハック - En blanc et noir

    jsDeferredはjavascriptの非同期処理をエレガントに書けるライブラリで、処理の順序を意識したプログラムが簡単になります。最近気に入ってます。直列実行、並列実行などいろいろな機能がありますが、僕はコールバックにdeferred機能を持たせる使い方をする事が多いです。また、使っているうちにちょっとしたハックを思いついたので、使い方を解説しつつそれについて書いてみます。 jsdeferredを使わない普通のコールバック まず、100msec後にfnを呼び出すようなlater関数をつくります。 function later(fn){ setTimeout(fn, 100); } そして、これを使って以下のような関数を作るとしましょう。 function a1(fn){ console.log("a1", "begin"); fn(); console.log("a1", "end"

    jsDeferredの実行順序とハック - En blanc et noir
  • 1