[jQuery] ³ª¸¸ÀÇ Áö¿¬µÈ °´Ã¼(Deferred Object) ¸¸µé±â. |
|
|
 |
10³â Àü |
jQuery Deferred Object ¿¡ Á» ´õ ÀÀ¿ëÀ» ÇÏ°í ½ÍÀº ºÐ²² ÀÌ ÆÁÀ» ¹ÙĨ´Ï´Ù.
jQuery Deferred core °´Ã¼¸¦ jQuery.Deferred ¸Þ¼µå·Î Á¦°øÇÕ´Ï´Ù. À̸¦ ÀÌ¿ëÇÏ¿© ÇÔ¼ö¸¦ ÀÛ¼ºÇÏ°í, Áö¿¬µÈ °á°ú¸¦ ºÒ·¯¿É´Ï´Ù. ÀÚ½ÅÀÌ setTimeout À» ºÒ·¯¿À°Å³ª, jQuery ¿Ü Ÿ Ç÷¯±×Àΰú ¿¬µ¿½Ã À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
$.Deferred(function() { //»ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö·Î Áö¿¬µÈ °´Ã¼ »ý¼º
var self = this; //Áö¿¬µÈ °´Ã¼ ÀڽŠÂüÁ¶
setTimeout(function() { //Áö¿¬ ½Ã°£ ¼³Á¤
// ¿©±â¿¡ ÇÏ°íÀÚ ÇÏ´Â ÀÛ¾÷ ½ÇÇà
self.resolve(); //Áö¿¬ »óŸ¦ ¾Ë¸²
}, 2000);
});
¾î¶§¿ä. Âü ½±ÁÒ? ±×·¸´Ù¸é Áö¿¬µÈ °´Ã¼ »óÅ¿¡ µû¸¥ ÄݹéÀº ¾î¶»°Ô ¼³Á¤ÇÒ °ÍÀΰ¡? °£´ÜÇÕ´Ï´Ù.
$.when(first(), second()) //2°³ÀÇ Áö¿¬ °´Ã¼¸¦ ½ÇÇàÇÕ´Ï´Ù.
.then(doneCallback, failCallback, progressCallback); //Áö¿¬µÈ °´Ã¼µéÀÌ ¸ðµÎ ¿Ï·á/½ÇÆÐ/½ÃÇàÁßµÈ »óÅÂÀ϶§ °¢°¢ Äݹé
.done(callback); //Áö¿¬µÈ °´Ã¼µéÀÌ ¸ðµÎ ¿Ï·áµÈ »óÅÂÀ϶§ Äݹé
.fail(callback); //Áö¿¬µÈ °´Ã¼µéÀÌ ¸ðµÎ ½ÇÆÐµÈ »óÅÂÀ϶§ Äݹé
.always(callback); //Áö¿¬µÈ °´Ã¼µéÀÌ »óÅ º¯°æÀÌ ³¡³ »óÅÂÀÏ ¶§¿¡ (¿Ï·á/½ÇÆÐ ´Ù) Äݹé.
¾î¶§¿ä. Âü ½±ÁÒ?
ÀÌ ±â´ÉÀÌ À¯¿ëÇÒ ¶§°¡ ÀÖ½À´Ï´Ù. ±× ´ëÇ¥ÀûÀÎ ¿¹½Ã°¡ ¹Ù·Î Ajax·Î ºÒ·¯¿À´Â ¸ÖƼ ±×¸®µå¶ó´ø°¡, 2°³ ÀÌ»óÀÇ ¿ÜºÎ ¸®¼Ò½º¸¦ ¸ðµÎ ºÒ·¯¿Â ÈÄ Ã³¸®ÇÒ ¶§¿¡ ´ëÇÑ ½ÇÇàºÎ¿¡ À¯¿ëÇÕ´Ï´Ù. ¹°·Ð ÀÌ·±°ÍµéÀº ±»ÀÌ Ä¿½ºÅÒ ¾Æ´Ï¶óµµ °¡´ÉÀº ÇÕ´Ï´Ù.
|
|
̵̧ : 444 |
̵̧
¸ñ·Ï
|
|