안녕하세요 이번 글에서는 자바스크립트에서의 async/await - (동기, 비동기) 핵심만 알려드리겠습니다. 1. 사용이유 Promise 대신 코드를 동기적으로 짜고 싶을 때 사용하시면 됩니다. 2. async async키워드를 함수앞에 붙이면, 함수 자체가 Promise가 됩니다. 함수가 promise로 바꼇기에, 함수에 then을 붙일 수 있습니다. 그리고 귀찮게 Promise 생성할 때 마다 new Promise를 해 줄 필요도 없어집니다. async function say_hi () { console.log('hi'); } say_hi().then(function() { console.log('성공'); }) return을 통해 값을 then안으로 넣어줄 수 있습니다. async function..
안녕하세요. 이번 글에서는 자바스크립트에서의 promise(프로미스) - (동기, 비동기) 핵심만 알려드리겠습니다. 1. 사용이유 콜백함수와 마찬가지로 순서대로 코드를 짜고 싶을 때 사용합니다. 하지만 콜백함수보다 좋은 이유가 크게 2가지가 있습니다. 코드 가독성이 향상됩니다. 에러 처리가 가능합니다(catch) 예를 들어 2개의 함수를 순서대로 실행시켜 보겠습니다. const say_1 = () => { setTimeout(() => { console.log('1'); }, 0) } const say_2 = () => { console.log('2'); }; say_1(); say_2(); //2 1 코드에서 원한 건 1과 2가 순서대로 출력되는 것이었지만, say_1안엔 비동기함수 setTimtout..
안녕하세요 이번 글에서는 자바스크립트에서의 콜백함수 - (동기, 비동기) 핵심만 알려드리겠습니다. 1. 사용이유 비동기함수는 요청 결과가 반환되기 전에 다른 작업을 수행할 수 있는 장점이 있지만, 코드의 실행 순서를 유추하기 어려워 집니다. 그래서 콜백함수는 코드를 순서대로 실행하고 싶을 때 사용합니다. 그냥 함수 안에 함수를 넣으면 콜백함수입니다. 2. 사용방법 setTimeout(() => { console.log(1); }, 0); console.log(2); 위 코드에서 1,2, 순서대로 출력하고 싶지만, setTimtout은 비동기 함수기에 2,1 순서대로 출력됩니다. const say_1 = (callback) => { console.log(1); callback(); } const say_2..
안녕하세요 이번 글에서는 자바스크립트에서의 이벤트루프 - (동기, 비동기) 핵심만 알려드리겠습니다. 1. 동기, 비동기란? 한 번에 코드가 한 줄씩 차례로 실행된다는 걸 동기라고 합니다.(synchronous) 오늘 배울 stack이란 공간에서 코드가 한 줄씩 실행됩니다. 반면 실행에 시간이 걸리는 코드를 제쳐두고, 실행이 바로 가능한 코드를 먼저 실행하는 방식을 비동기 라고 합니다.(asynchrounous) 자바스크립트는 동기적인 언어며, 동시에 비동기적인 코드를 처리할 수 있습니다. 이벤트루프를 배우며 위의 개념을 이해해봐요! 동기, 비동기를 위해 크게 4가지를 아셔야 합니다. 1. event loop(이벤트 루프) (stack, heap, quque) 2. 콜백함수(call back functio..