전체 글

프론트엔드 지식을 다 먹어버리겠다는 의지
● 오늘 공부한 것 fs 모듈, promise 과제 하기! 01_callBack.js const fs = require("fs"); const getDataFromFile = function (filePath, callback) { fs.readFile(filePath, 'utf8', (err, data)=>{ if (err) callback(err, null) else callback(null, data) }) }; getDataFromFile('README.md', (err, data) => console.log(data)); 02_promiseConstructor.js const { rejects } = require('assert'); const fs = require("fs"); const g..
Promise의 정적 메서드 all, race, allSettled은 반드시 배열 형태의 인자를 전달해야 하는 것은 아닙니다. 이들 메서드는 Promise 객체의 이터러블한 배열을 전달받아 실행되지만, 이터러블한 배열이 아닌 일반적인 인자를 전달하는 경우, 이들 메서드 내부에서 배열로 변환되어 처리됩니다. 다음은 이터러블한 객체가 아닌 일반적인 인자를 전달하는 예시 코드입니다. // all 메서드에 Promise 객체와 일반 값들을 전달하는 예시 const promise1 = Promise.resolve(1); const promise2 = Promise.resolve(2); const promise3 = Promise.resolve(3); Promise.all(promise1, promise2, pro..
생각해보면 후속 메서드들은 promise관련된 메서드들이기때문에 무조건 프로미스여야함.. finally도 프로미스를 반환한다.
● 오늘 공부한 것 Beesbeesbess 과제하기 과제하느라 혼났던 날.. 나이트메어 부분은 정말 공부하기 힘들었다 ㅠ 배열메스드를 아예쓰면 안되는 줄알고 안쓰고 했는데, 어느정도는 써도됐어서 조금 충격을 받았다ㅠㅠ ● 끝맺음 느낀점 수업이외의 학습 비동기에 대해 학습했다.. (디바운스, 스로틀)
프로미스 도대체 왜쓸까요? 가장 큰 이유는, 콜백헬을 다루기 위해서..! 그리고 비동기코드를 순차적으로 실행하기 위해서!! 그..그것이.. 프로미스니까..! ● 비동기 처리를 위한 콜백 패턴의 단점 비동기 함수는 '언제 실행될지 모르는 것' 이라는 점을 가지고 있다. 언제 실행될지 모르니, 비동기 함수 바깥에 있는 변수를 수정할 수도 없고, 비동기함수가 내뱉는 반환값도 가져올 수가 없다. let a = 1; // 0초뒤 a = 2로 선언한다. setTimeout(()=> {a = 2;}, 0) console.log(a) // 1 원래 예상하는 대로라면, 2가 출력되야하지만, 1이 출력된다. 따라서 비동기 함수는 언제 실행될지 정확히 예측할 수 없다는 것이다. 그렇다면 어떻게 하면 a = 2를 출력할 수 ..
· Javascript
● 콜백 함수는 늘 비동기일까? function printImmediately(print) { print(); } function printDelay(print, delay) { setTimeout(print, delay); } printDelay(() => { console.log("asyncCallback"); }, 2000); printImmediately(() => { console.log("daeun"); }); printImmediately 함수는 콜백함수를 받고, 그 콜백함수를 바로 실행한다. printDelay함수는 콜백함수와 delay할 함수를 받고, setTimeout로 콜백함수를 실행한다. 결과는 asyncCallback, daeun 순으로 출력된다. 즉, 콜백함수는 동기콜백함수와 비..
김코린이
김코린이의 성장일기