ÀÌÀü¿¡ Coroutine in Js ¿¡¼ ±¸ÇöÇÑ ÄÚ·çƾÀº ¹è¿·Î ±¸Çö Ç߱⠶§¹®¿¡ °°Àº ÄÚ·çƾÀÌ Ãß°¡ µÇ´Â °ÍÀ» ¸·À»¼ö°¡ ¾ø¾ú´Ù. ¹è¿¿¡¼ map ¹æ½ÄÀ¸·Î ¼öÁ¤ÇÏ¿© °°Àº ÄÚ·çƾÀÌ ´Ù½Ã Ãß°¡ ¾ÈµÇµµ·Ï ¼öÁ¤ ÇÏ¿´´Ù. Ãß°¡µÈ coroutine ÇÔ¼ö´Â ´ÙÀ½°ú °°´Ù. 1. Å°°ª¿¡ ÀÇÇØ ÄÚ·çƾÀ» Ãß°¡ÇÑ´Ù. coroutine.add ÇÔ¼öµµ ¿©ÀüÈ÷ Á¸Àç ÇÑ´Ù. °°Àº Å° °ªÀÌ ÀÌ¹Ì Á¸ÀçÇÏ¸é °ªÀ» Ãß°¡ ÇÏÁö ¾Ê´Â´Ù. coroutine.set = function(key, c)
key : Ãß°¡ ÇÒ Å°°ª c: ÄÚ·çƾ¿¡ Ãß°¡ ÇÒ ÇÔ¼ö 2. Å°°ªÀÇ ÄÚ·çƾÀÌ Á¸ÀçÇÏ´ÂÁö °Ë»çÇÑ´Ù. coroutine.has = function(key)
¿¹Á¦) Ãß°¡ µÈ ÇÔ¼ö¿¡ ´ëÇÑ ¿¹Á¦ ÆÄÀÏÀÌ´Ù. coroutine.set('main', function*(dt) {
updateLuminance(); dt = yield undefined; dt = yield* waitCount(); dt = yield* waitFunc(fadeOut); dt = yield* waitFunc(fadeIn); dt = yield* coroutine.waitForSeconds(0.5); message('¾È³çÇϼ¼¿ä. °ÔÀÓÀ» ½ÃÀÛ ÇÒ·Á¸é'); message('"Enter"Å°¸¦ ´·¯ ÁÖ¼¼¿ä!!!'); dt = yield* waitInput(); dt = yield* waitFunc(fadeOut); dt = yield* waitFunc(fadeIn); message('´ç½ÅÀº ¸¶¹ý»ç·Î Á¶¼±ÀÇ ´Ü±ºÀ» ±¸ÇØ¾ß ÇÕ´Ï´Ù.'); dt = yield* waitInput(); }); //mainÅ°·Î ÀÌ¹Ì Ãß°¡ µÇ¾ú±â ¶§¹®¿¡ ´Ù½Ã Ãß°¡ ¾ÈµÈ´Ù. coroutine.set('main', function*(dt) { console.log('add the second main'); }); //mainÅ°°¡ ½ÇÇà ÁßÀ̹ǷΠhas´Â true¸¦ ¹ÝȯÇÑ´Ù. if(coroutine.has('main')) { console.log('already added main'); } ´Ù¿î·Îµå: coroutine_test.html main.js coroutine.js coroutine_map.zip |