본문 바로가기
반응형

프로그래밍 언어/JavaScript8

[JavaScript] 이벤트 루프에 대해서... 이벤트 루프는 자바스크립트의 비동기 처리 메커니즘으로, 싱글 스레드 환경에서도 비동기 작업(예: 타이머, 네트워크 요청 등)을 처리할 수 있게 도와주는 비동기 실행 모델이다. 자바스크립트는 기본적으로 한 번에 하나의 작업만 처리할 수 있는 싱글 스레드 언어지만, 이벤트 루프 덕분에 비동기 처리가 가능해진다. 동작 원리1. 콜 스택 (Call Stack)실행 중인 함수들이 쌓이는 스택이다.가장 위에 있는 함수가 실행되며, 실행이 끝나면 스택에서 제거 된다.2. 웹 API / 백그라운드 작업브라우저나 Node.js 런타임이 제공하는 기능 (예: setTimeout, fetch, 이벤트 리스너)이 실행된다.비동기 작업은 콜 스택에서 바로 실행되지 않고, 백그라운드로 넘겨진다.3. 태스크 큐(Task Queue.. 2025. 3. 26.
[js] forEach와 비동기 작업(Transaction API error: Transaction already closed: Could not perform operation 발생!) 외주 작업을 하던 도중에  Transaction API error: Transaction already closed: Could not perform operation 라는 에러를 만났다. 해당 코드는 다음과 같은데  await this.prisma.$transaction(async (tx) => { const maxCombineNum = await tx.order.aggregate({ ... }); //원하는 데이터에서 +1 let newCombineNum = maxCombineNum._max.combineNum + 1; //위에 newCombineNum.. 2024. 5. 31.
[JS] var, let, const의 차이를 알아보자 var, let, const는 자바스크립트에서 변수를 선언할 때 사용하는 키워드이다. 그렇다면 이 세 키워드의 차이는 무엇일까. 바로 변수의 스코프와 값 변경 가능성이다.(스코프란 변수와 함수 등의 식별자가 유효한 범위를 제한하는 개념이라고 할 수 있다.) var 키워드는 ES5 이전부터 사용되던 변수 선언 방식이다. 함수 스코프를 가지며, 변수의 값 변경이 가능하다. var 키워드는 변수를 재선언 할 수 있다. function varTest() { var a = 1; if(true){ var a = 2; console.log(a); //2 } console.log(a); //2 } varTest(); console.log(a); // ReferenceError: a is not defined let은 .. 2024. 3. 1.
[javascript] 자바스크립트 SyntaxError: Unexpected token o in JSON at position 1 에러 거창하게 포스팅이라고까지 할 건 없고 내가 기록하기 위한 글... 프로젝트를 진행하던 도중 SyntaxError: Unexpected token o in JSON at position 1 라는 에러가 떴다. 이는 이미 JSON 형태로 내려준 데이터를 또 JSON 형식으로 바꾸려고 했을 때 나는 에러이다. 그냥 json 형태 그대로 사용하면 해결된다. 2023. 10. 17.
반응형