ì½ë°± í¨ì
ì½ë°± í¨ìë ì ë¬ì¸ìë¡ ë¤ë¥¸ í¨ìì ì ë¬ëë í¨ìì ëë¤. ì´ë ì¼ì¢ ì 루í´ì´ë ëìì ìë£í기 ìí´ ì¸ë¶ í¨ì ë´ë¶ìì í¸ì¶ë©ëë¤.
ì½ë°± ê¸°ë° APIì ìë¹ì(Consumer)ë APIì ì ë¬ëë í¨ì를 ìì±í©ëë¤. API ê³µê¸ì(Provider) ("caller")ë ì¸ìë¡ ì ë¬ë í¨ì를 API ê³µê¸ì(Provider) í¨ì 본문 ë´ í¹ì ë¶ë¶ìì ë¤ì í¸ì¶(ëë ì¤í)í©ëë¤. API ê³µê¸ì(Provider)ë ì¬ë°ë¥¸ 매ê°ë³ì를 ì½ë°±í¨ìì ì ë¬í´ì¼ í©ëë¤. API ê³µê¸ì(Provider)ë API ê³µê¸ì(Provider)ì ì¶ê°ëìì ì§ìíë ë° ì¬ì©ëë ì½ë°± í¨ììì í¹ì ë°í ê°ì ë°ì ìë ììµëë¤.
ì½ë°±í¨ì를 í¸ì¶íë ë°©ë²ìë "synchronous" ë° "asynchronous" ë ê°ì§ê° ììµëë¤. ë기ì ì½ë°±(synchronous callbacks)ì ì¤ê°ì ë¹ë기 ìì ìì´ ì¸ë¶ í¨ì í¸ì¶ ì§íì í¸ì¶ëë ë°ë©´ì, ë¹ë기ì ì½ë°±(asynchronous callbacks)ì asynchronous ìì ì´ ìë£ë í ëì¤ì í¸ì¶ë©ëë¤.
ì½ë°± í¨ìê° ë기ìì¼ë¡ í¸ì¶ëëì§, ë¹ë기ìì¼ë¡ í¸ì¶ëëì§ ì´í´íë ê²ì ë¶ì í¨ê³¼ë¥¼ ë¶ìí ë í¹í ì¤ìí©ëë¤. ë¤ì ìì 를 ìê°í´ë´ ìë¤.
let value = 1;
doSomething(() => {
value = 2;
});
console.log(value);
doSomethingì´ ë기ìì¼ë¡ ì½ë°±ì í¸ì¶íë ê²½ì°, value = 2ê° ë기ìì¼ë¡ ì¤íë기 ë문ì ë§ì§ë§ ì½ë ì¤í문(console.log 문)ì 2를 기ë¡í©ëë¤. ê·¸ë ì§ ìê³ , ì½ë°± í¨ìê° ë¹ëê¸°ì¸ ê²½ì° value = 2ê° console.log 문 ë¤ìì ì¤íë기 ë문ì ë§ì§ë§ ì½ë ì¤í문(console.log 문)ì 1를 기ë¡í©ëë¤.
ë기ì ì½ë°±(synchronous callbacks)ì ìë Array.prototype.map(), Array.prototype.forEach()ì ì ë¬ë ì½ë°± í¨ìê° í¬í¨ë©ëë¤. ë¹ë기ì ì½ë°±(asynchronous callbacks)ì setTimeout() ë° Promise.prototype.then()ì ì ë¬ë ì½ë°± í¨ìë¤ì ìì ê° ë ì ììµëë¤.
promises ì¬ì© ê°ì´ëìë ë¹ë기 ì½ë°±ì íì´ë°ì ëí ìì¸í ì ë³´ê° ììµëë¤.
ê°ì´ 보기
- ìí¤í¼ëìì ì½ë°±