Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
jQuery Deferreds and Promises
Search
Eli Perelman
November 01, 2011
Technology
400
10
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
jQuery Deferreds and Promises
My introduction slides from the Omaha Front-end Web and jQuery meetup on November 1, 2011.
Eli Perelman
November 01, 2011
More Decks by Eli Perelman
See All by Eli Perelman
Intro to Raptor
eliperelman
0
140
UI Synchronicity
eliperelman
1
160
Other Decks in Technology
See All in Technology
モダンフロントエンド 開発研修
recruitengineers
PRO
4
620
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.9k
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.5k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
150
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
250
Flutterをカメラで動かしたかった話
sony
1
140
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
1
1.6k
個人OSSが、机の上から世界に広がるまでの話
shinyasaita
1
390
変化の早いClaude Codeを 書籍に落とし込む
oikon48
7
1.4k
MIRU 2026 チュートリアル
keisuke198619
0
900
Pavlokで始める電撃駆動開発
sgrsn
0
190
Featured
See All Featured
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
400
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
460
Deep Space Network (abreviated)
tonyrice
0
250
The Spectacular Lies of Maps
axbom
PRO
1
900
Designing for humans not robots
tammielis
254
26k
Being A Developer After 40
akosma
91
590k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Building AI with AI
inesmontani
PRO
1
1.1k
Utilizing Notion as your number one productivity tool
mfonobong
4
530
Six Lessons from altMBA
skipperchong
29
4.4k
Transcript
jQuery Deferreds & Promises Eli Perelman @eliperelman
What are deferreds?
Provide a system to register callbacks into neatly managed queues
DEFERREDS
WITHOUT DEFERREDS var validateUser = function ( username, password, callback
) { if ( username === ‘bob’ && password === ‘123’ ) { callback( ‘success’ ); } else { callback( ‘failure’ ); } }; validateUser( ‘bob’, ‘123’, function ( result ) { if ( result === ‘success’ ) { location = ‘/dashboard’; } else { showError( ‘Invalid login.’ ); } });
WITH DEFERREDS var validateUser = function ( username, password )
{ var deferred = $.Deferred(); if ( username === ‘bob’ && password === ‘123’ ) { deferred.resolve(); } else { deferred.reject(); } return deferred.promise(); }; validateUser( ‘bob’, ‘123’ ) .done( function () { location = ‘/dashboard’; }) .fail( function () { showError( ‘Invalid login.’ ); });
Deferreds work with synchronous AND asynchronous functions.
Since jQuery 1.5, the $.ajax module uses deferreds.
What are promises?
Provide a common API for consuming code to register callbacks,
sync or async. PROMISES
Deferreds Promises .then .then .done .done .fail .fail .always .always
.reject .resolve .pipe .pipe .promise .promise .isResolved .isRejected
Coding time!