November 15, 2020
AbortController의 구현체를 실험적으로 포함합니다. AbortController는 하나 이상의 웹 요청을 필요할 때 중단시키는 인터페이스입니다. 자세한 설명은 아래의 링크를 참고하시면 됩니다.
const ac = new AbortController();
ac.signal.addEventListener('abort', () => console.log('Aborted!'),{ once: true });
ac.abort();
console.log(ac.signal.aborted); // Prints True
위의 예제에서, ac.abort()가 호출될 때, AbortController가 abort event를 trigger합니다.
AbortSignal에 달린 Eventlistener는 반드시 { once: true }
옵션을 주거나 EventEmitter의 once()
메서드를 호출해 abort
이벤트를 한번만 핸들링하고 사라지도록 해야합니다.
우리는 새로운 N-API 버전을 다른 LTS Node.js 버전에도 백포트하여 사용합니다. N-API 7은 가장 최신 메이저 릴리즈 이후 새 버전이고, ArrayBuffers를 다루는 추가 메서드들을 포함합니다.
백포트(backport) : 최신 버전의 소프트웨어 시스템 또는 소프트웨어 구성 요소에서 부품을 가져 와서 동일한 소프트웨어의 이전 버전으로 포팅하는 작업
Node.js 15는 npm 7을 사용합니다. Npm 7에는 다양한 새로운 기능들이 추가되었습니다.
package-lock.json
포맷yarn.lock
지원Presenting v7.0.0 of the npm CLI - The GitHub Blog
Node.js 15에서는 unhandledRejection
에 대한 기본 mode가 warn
에서 throw
로 바뀝니다. throw
mode에서는, unhandledRejection
hook이 설정되어 있지 않으면, unhandledRejection
는 uncaught exception으로 잡힙니다. unhandledRejection
hook을 설정한 사용자들은 그대로 사용하면 됩니다. -unhandled-rejections=mode
라는 process flag를 사용하여 mode를 변경하는 것이 여전히 가능합니다.
Node.js는 UnhandledPromiseRejectionWarning
는 많은 버전에서 emit해왔는데, Node.js User Insights: Unhandled Promise Rejections 설문조사와, Node.js Technical Steering Committee vote 의 결과를 바탕으로 mode를 throw
로 변경하는 결정을 내렸습니다.
QUIC는 새로운 UDP 기반 transport protocol이며, HTTP/3의 기반이 됩니다. QUIC는 TLS 3.1, 흐름 제어, 오류 수정, 연결 마이그레이션 및 멀티플렉싱을 통한 내장된 보안 기능을 제공합니다.
Node.js 15는 QUIC을 실험적으로 제공하고 있으며, --experimental-quic
라는 configuration flag를 통해 Node.js를 컴파일하면 사용할 수 있습니다. Node.js QUIC 구현체는 core net
모듈에서 expose 됩니다.
const { createQuicSocket } = require(‘net’);
QUIC에 대한 더 자세한 설명은 Node.js 문서를 참고하시면 됩니다.
V8 자바스크립트 엔진이 V8 8.6으로 업데이트되었습니다. (V8 8.4가 Node.js 14에서 사용가능한 가장 최신버전이었습니다.) 성능 개선과 함께 V8 업데이트는 아래의 language feature를 포함합니다.