ȸ¿ø°¡ÀԡžÆÀ̵ð/ºñ¹øã±â
ȨÀ¸·Î


°ñ¶§¸®´Â ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ ¼¼°è - ³ª¸¸ÀÇ ÇÁ·Î¹ÌÁî ÆÐÅÏ
9³â Àü

jQuery 1.5 ¿¡¼­ ȹ±âÀûÀÌÁö¸¸ Àß ¾È¾²´Â °Ô ÀÖÁÒ. ¹Ù·Î Áö¿¬µÈ °´Ã¼(Deferred Object) ÀÔ´Ï´Ù. ÀÌ °´Ã¼ÀÇ À§·ÂÀ» Á¤¸» ´À²¸º»»ç¶÷ »©°í´Â Àß ¾È¾²ÁÒ.

À̳ðÀÇ ÆÐÅÏÀÌ ¾î¶»³Ä..
$.get('/serv/get.php',null,function(){
    alert('¹» ¹Þ¾Æ¿Âµí.');
});

ÀÌ ±âÁ¸ ÆÐÅÏ°ú
$.get('/serv/get.php')
    .success(function(){
        alert('¹» ¹Þ¾Æ¿Âµí.');
    });

ÀÌ Á¦ÀÌÄõ¸®¿¡¼­ Á¦¾ÈÇÑ ÆÐÅÏ°ú ¶È°°Àº È¿°ú¸¦ ÁÝ´Ï´Ù.

¹¹.. ´À³¦»ó ÆÐÅÏÀº ´ç¿¬È÷ Ʋ¸®ÁÒ.

ºÐ¸í Ajax´Â ºñµ¿±â ½ºÅ©¸³Æ®ÀÔ´Ï´Ù. ÇÏÁö¸¸ µ¿±âÇÑ °Í ó·³ ¹º°¡ Âø°¢À» ºÒ·¯ÀÏÀ¸Å°±âµµ ÇÏ°í. ¹Ù·Î ºñµ¿±â ½ºÅ©¸³Æ®¸¦ ÀÌ·¸°Ô ´«¿¡ º¸±â ÁÁ°Ô ²Ù¸ç ³õ´Â´Ù´Â ÀåÁ¡ÀÌ ÀÖ½À´Ï´Ù.

node.js °³¹ßÇÏ´Ùº¸¸é À̺¥Æ® ÁßÁ¡ÀûÀÌ´Ù º¸´Ï Á¾Á¾ ºñµ¿±â ¾µ¶§ ÀÌ·± ÆÐÅÏÀÌ ¹ß»ýÇÕ´Ï´Ù.
var mongodb = require('mongodb'),
Db = mongodb.Db;

var db = new Db('test_db', new Server(process.env["MONGODB_HOST"], process.env["MONGODB_PORT"], {}));

db.open(function(err, db) {
    db.collection("test_collection", function(err, collection) {
        collection.find({"cmd":cmd}, {"sort":"order"}, function(err, cursor) {
            cursor.each(function(err, item) {
                if (item != null) {
                    // Do something
                }

                if (item != null) {} // ¹Ýº¹¹® ³¡
            });
            db.close();
        });
    });
});

¿À¿ì 쉣. ÇÔ¼ö¾È¿¡ ÇÔ¼ö¾È¿¡.. ³Ê¹« ÁöÀúºÐÇÕ´Ï´Ù. ÇÏÁö¸¸ Á¦ÀÌÄõ¸®°¡ Á¦¾ÈÇÑ Áö¿¬µÈ °´Ã¼ ÆÐÅÏÀ¸·Î °£´Ù¸é Àú°É?
db.open()
    .collection('test_collection')
    .find({"cmd":cmd}, {"sort":"order"})
    .fetch(function(err,cursor){
        cursor.each(function(err, item) {
            if (item != null) {
                // Do something
            }
            if (item != null) {} // ¹Ýº¹¹® ³¡
        });
    })
    .close();

ÀÌ·± ½ÄÀ¸·Î ºñµ¿±â ½ºÅ©¸³Æÿ¡ Á¦ÀÌÄõ¸®ÀÇ ÃÖ°­¹«±â ¸Þ¼­µå üÀÌ´×À» ±¸»çÇÒ ¼ö ÀÖ´Ù´Â °Ì´Ï´Ù. ¹°·Ð Àú·± ÆÐÅÏ Á¦°øÇÏ´Â ³ðÀº ¾ÆÁ÷±îÁö ¾øÀ¸´Ï ±×´ë·Î µû¶óÇÏÁö ¸¶½Ã±æ. ±×³É ¿¹¸¦ µç°Å´Ï±î¿ä.

±×·³ ¾î¶² ¿ø¸®·Î Çϴ°ÇÁö ¿À´Ã °ñ¶§¸®°Ô ¼³¸íÇØ µå¸®µµ·Ï ÇÏ°Ú½À´Ï´Ù.

ÀÏ´Ü ¸ÕÀú, µ¿Àû Ŭ·¡½ºÀÇ °³³ä°ú Ŭ·ÎÀú °³³äÀ» ÀÌÇØÇÏ°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. Àú´Â ±× ÀÌÇظ¦ ÇÏ°í ÀÖ´Â ºÐÀ¸·Î °£ÁÖÇÏ°í ÆÁÀ» ¾¹´Ï´Ù. ¸ð¸£¸é ¹®ÇÐÀÌ´ÔÀÌ ¶±ÇÏ´Ï °­Á ¿Ã·Á³ùÀ¸´Ï º¸½Ã±æ.

..¶ó°í ¹«¼·°Ô ¾ê±âÇߴµ¥. ¾î·ÆÁö ¾Ê½À´Ï´Ù. ¸ÕÀú µ¿Àû Ŭ·¡½º¸¦ ¸¸µé ÇÔ¼ö¸¦ Çϳª Â¥ÁÖ¼¼¿ä.
fuynction MyDefferd(){
    this.fn={};
    //ÃʱâÈ­ ÇÒ°Å ÀÖÀ½ Çϵ¢°¡.
}

±×¸®°í Áö¿¬µÈ °´Ã¼¿¡¼­ üÀ̴׿¡ »ç¿ëÇÒ ÇÁ·ÎÅäŸÀÔ ÇÔ¼ö Çϳª ¸¸µé°Ú½À´Ï´Ù.
MyDefferd.prototype.done=function(func){
    this.fn.done=func;
};

¹¹.. Áغñ ³¡ÀÔ´Ï´Ù. ±×¸®°í ÀÌÁ¦ Áö¿¬µÈ °´Ã¼¸¦ ¸®ÅÏÇÒ ÇÔ¼ö¸¦ Çϳª ¸¸µé°Ú½À´Ï´Ù. ±×¸®°í ÀÌ ÇÔ¼ö´Â ºñµ¿±â ÀÛ¾÷À» ÇÒ °Ì´Ï´Ù. °£´ÜÇÏ°Ô setTimeout À» ¾²°Ú½À´Ï´Ù.
function Deffer(delay){
    var deff=new MyDefferd();//¾Æ±î ¸¸µç Áö¿¬°´Ã¼¸¦ µ¿ÀûÀ¸·Î Çϳª ºÒ·¯¿Í Áֽðí.
    alert('ÀÛ¾÷ ½ÃÀÛ!');
    setTimeout(function(){
        if(typeof(deff.fn.done)=='function')
            deff.fn.done();//done ÇÔ¼ö¸¦ ²ø¾î´Ù ¾¹´Ï´Ù.
    },delay*1000);//¸îÃÊ ÈÄ¿¡? ´ÔÀÌ ¾´ ÃÊ ÈÄ¿¡.
    return deff;//¹Ýµå½Ã µ¿Àû Áö¿¬ °´Ã¼¸¦ ¹ÝȯÇØÁà¾ß ÇÕ´Ï´Ù!
}

ÀÌ°ÍÀ¸·Î Áö¿¬°´Ã¼ ÆÐÅÏÀ» »ç¿ëÇÒ ¼ö ÀÖ´Â ÇÔ¼ö¸¦ ¾µ Áغñ°¡ ³¡³µ½À´Ï´Ù. Âü ½±ÁÒ? ¾î¶»°Ô ¾²³Ä? °£´ÜÇÕ´Ï´Ù. ¿¹¸¦ µé¾î 3ÃÊ ÈÄ¿¡ ÀÛ¾÷ ³¡ ¸Þ½ÃÁö°¡ ³ª¿Àµµ·Ï ²Ù¸çº¸°Ú½À´Ï´Ù.
Deffer(3).done(function(){
    alert('ÀÛ¾÷ ³¡!');
});

±×·³ óÀ½¿¡ ÀÛ¾÷ ½ÃÀÛÀ̶õ °æ°íâÀÌ ¶á ´ÙÀ½, 3ÃÊ ÈÄ¿¡ ÀÛ¾÷ ³¡À̶õ °æ°íâÀÌ ¶ã°Ì´Ï´Ù. ±×·¸°Ô ³ª¿À¸é ¼º°ø! ¾î¶§¿ä. Âü ½±ÁÒ?

µ¿Àû Ŭ·¡½º´Â ÇÔ¼ö Á¾·á ÈÄ Å¬·ÎÀú ¶§¹®¿¡ ¸Þ¸ð¸® ´Ù½Ã ¹Ý³³ÇØ ÇÏ´Â°É °³³ª Áà¹ö¶ó´Â´Â ¼ºÁú ´öºÐ¿¡ deff ÇÔ¼ö¿¡¼­ ¾ðÁ¦µçÁö Àú·¸°Ô µ¿Àû Ŭ·¡½º ¾È¿¡ ÀÖ´Â µ¥ÀÌÅ͸¦ ÀÒÁö ¾Ê°í °®´Ù ¾µ ¼ö ÀÖ½À´Ï´Ù. ÀÌ°É ÀÌ¿ëÇؼ­ Áö¿¬µÈ °´Ã¼¸¦ ÅëÇØ ºñµ¿±â ½ºÅ©¸³Æ® ÆÐÅÏÀ» µ¿±â ½ºÅ©¸³Æ® ÆÐÅÏ°°ÀÌ ²Ù¹Ð ¼ö°¡ ÀÖ´Â °ÍÀÌÁÒ. ÀÌ·± Áö¿¬ °´Ã¼¸¦ ÀÀ¿ëÇؼ­ Ajax´Â ¹°·Ð, node.js ¿¡¼­ ÇÒ ¼ö ÀÖ´Â ´ëºÎºÐÀÇ ºñµ¿±â ÀÛ¾÷¿¡¼­ ¿©·¯ºÐÀÇ ´«À» Á¤È­½ÃÅ°´Â ÆÐÅÏÀ» ¸¸µé ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
ÃßõÃßõ : 436 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
2,555
JavaScript ¹Ð¸®Ãʸ¦ ½Ã°£Çü½ÄÀ¸·Î º¯È¯
2,554
À§, ¾Æ·¡ ÀÚµ¿ ½ºÅ©·Ñ
2,553
JavaScript·ÎµùÀ» ÃÖÀûÈ­ÇÏ¿© ÆäÀÌÁö ·»´õ¸µ ¼Óµµ¸¦ ºü¸£°Ô ÇÏ´Â 6°¡Áö ¹æ¹ý
2,552
[Javascript] Á¤±Ô½Ä. ÀüÈ­¹øÈ£, ÈÞ´ëÆù ¹øÈ£ ÃßÃâ. °ËÁõ
2,551
jQuery Mobile ½ÃÀÛÇϽô ºÐµéÀ» À§ÇÑ 10°¡Áö ÆÁ°ú ¿¹Á¦µé...
2,550
PHP) Example #1 HTML ¿£Æ¼Æ¼ µðÄÚµù
2,549
PHP Proxy °¡Á®¿À±â
2,548
[¾Èµå·ÎÀ̵å/Android] ¾Èµå·ÎÀÌµå ±ÇÇÑ(Permission) Á¾·ù
2,547
[PHP] while($data = mysql_fetch_array($result)) ¿À·ù ³¯¶§ È®ÀÎ
2,546
PHP for¹® 2¾¿ Áõ°¡ÇÏ´Â ¹ý
2,545
À¯Åõºê °Ë»ö API ¿¹Á¦
2,544
À¥ºä(WebView)¿¡ °üÇÑ °íÂû
2,543
WebView ¾ÈÀÇ ÄÜÅÙÃ÷(À̹ÌÁö, µ¿¿µ»ó) Æù È­¸é¿¡ ¸ÂÃß±â
2,542
À¥»çÀÌÆ® ¼Óµµ °³¼±À» À§ÇÑ ÆÁµé
2,541
[¹ø¿ª] javascript ÀÇ this ¶õ ¹«¾ùÀΰ¡
2,540
[¹ø¿ª] ÀÚ¹Ù½ºÅ©¸³Æ® ´Ù½Ã ¹è¿ì±â (A re-introduction to JavaScript)
2,539
HTML, CSS, JavaScript ÀÇ ÀÇÁ¸¼º ÁÙÀ̱â
2,538
°ñ¶§¸®´Â ÀÚ¹Ù½ºÅ©¸³Æ® - ArrayÀÇ Áø½Ç 2
2,537
[jQuery] ³ª¸¸ÀÇ Áö¿¬µÈ °´Ã¼(Deferred Object) ¸¸µé±â.
°ñ¶§¸®´Â ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ ¼¼°è - ³ª¸¸ÀÇ ÇÁ·Î¹ÌÁî ÆÐÅÏ
2,535
[jQuery ©¸·ÆÁ] Ajax ¸¦ ¼øÂ÷ÀûÀ¸·Î ¿©·¯°³ ºÒ·¯¿À±â
2,534
À¥È£½ºÆü­¹ö ±×´ë·Î µû¶ó ¸¸µé±â
2,533
Mobile Web °³¹ßÀ» À§ÇÑ Áغñ
2,532
¸ð¹ÙÀÏÀ¥¿¡¼­ App ½ÇÇà ¹× ¼³Ä¡¿©ºÎ È®ÀÎ
2,531
PHP·Î À̹ÌÁö ÁÖ¼Ò ¼û±â±â
2,530
À¯Åõºê ÁÖ¼Ò¿¡¼­ ¾ÆÀ̵𸸠»Ì¾Æ¿À±â
2,529
Fatal error: Allowed memory size of ~~
2,528
.htaccess ÆÄÀÏÀ» ÀÌ¿ëÇÏ¿© PHP ¾÷·Îµå ¿ë·® Á¦ÇÑ º¯°æ
2,527
¿ìºÐÅõ php.ini ¼³Á¤
2,526
PHP Á¤±Ô½ÄÀ» È°¿ëÇÑ ÅÂ±× ¹× ƯÁ¤ ¹®ÀÚ¿­ Á¦°Å ¹× ÃßÃâ ¹æ¹ý
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.