2025/04/22 3

Promise 함수 (resolve, reject)

1. 정의- 미래에 완료될 비동기 작업의 최종 완료 또는 실패 결과를 나타내는 객체 2. 왜 사용하는가?Javascript는 싱글 스레드에서 돌아가기 때문에, 시간이 오래 걸리는 비동기 작업(예: API 요청, 타이머, 파일 읽기 등)에 대해 결과가 오기까지 기다릴 수 있도록 하는 방법이 필요함. (기존에는 콜백 함수 구조를 이용했지만, '콜백지옥'이 발생할 수 있는데, Promise는 이를 해결해줌) 3. Promise의 상태 1) pending : 아직 완료되지 않음 2) fullfilled : resolve()가 호출됨 – 성공 3) rejected : reject()가 호출됨 – 실패 4. new Promise()의 형태로 사용하는 이유 - Promise는 클래스임. - 즉, Promi..

React 2025.04.22

Electron 이벤트 리스너 - .on() / .once()

1. .on() - 기본적인 이벤트 리스너 - 이벤트를 수신하기 위해 대기 상태로 유지되기 때문에 불필요한 메모리 소모가 발생할 수 있음 - removeAllListener를 return 하여 이벤트 리스너를 정리해주는 것이 좋음 2. .once()- 호출 시 이벤트 수신 기능이 작동하면 1회 수신 시 Electron이 알아서 리스너를 정리함.- removeAllListener를 따로 return 할 필요가 없음 * 참고- 비동기 이벤트의 return 값을 return하기 위해서는 반드시 Promise 객체를 생성해야 함.

Electron 2025.04.22

React에서 동기 / 비동기, async / await

1. 동기 / 비동기 1) 동기- 코드가 같은 회기에 실행됨. 즉 한 회기에 모든 코드가 위에서 아래로 순차적으로 실행됨- 작업의 시작 시점이 순차적이라는 뜻임. 2) 비동기 - 코드가 같은 회기 안에 실행되지 않음. 즉 한 회기에 모든 코드가 순차 실행되지 않음. - 시간이 오래 걸리는 작업은 "나중에 처리" 하고 다음 코드부터 실행 ex ) setTimeout, fetch, 이벤트리스너 등 2. async / await 1) await 는 비동기 작업이 끝날 때까지 기다리는 키워드, await가 있으면 해당 줄에서 잠깐 멈췄다가, 완료되면 다음 줄 실행2) await는 async 함수 안에서만 사용 가능3) 기본적으로 모든 코드들은 위에서부터 순차적(동기적)으로 실행되는데, 작업의 시작 시점은 ..

React 2025.04.22