이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
비동기 함수는 작업을 비동기적으로 수행하는 강력한 방법입니다. Node.js는 async/await 키워드 및 Promise API를 포함하여 비동기 함수를 사용하는 여러 가지 방법을 제공합니다.
비동기 함수는 논블로킹입니다. 즉, 메인 스레드를 차단하지 않습니다. 이는 메인 스레드를 차단하면 전체 프로그램이 일시 중지될 수 있기 때문에 중요합니다. 비동기 함수를 사용하면 응답성이 더 빠르고 더 많은 동시 요청을 처리할 수 있는 코드를 작성할 수 있습니다.
비동기 함수로 작업할 때 염두에 두어야 할 몇 가지 사항이 있습니다. 먼저 비동기 함수는 Promise를 반환합니다. Promise는 비동기 작업의 결과를 나타내는 개체입니다. Promise는 보류, 이행 또는 거부의 세 가지 상태 중 하나일 수 있습니다.
둘째, 비동기 함수는 일반 함수와 마찬가지로 오류를 발생시킬 수 있습니다. 이러한 오류를 포착하는 것이 중요합니다. 그렇지 않으면 프로그램이 중단됩니다.
셋째, async 함수는 await 키워드와 함께 사용할 수 있습니다. await 키워드는 async 함수 내에서만 사용할 수 있습니다. 비동기 작업이 완료될 때까지 프로그램이 일시 중지됩니다.
비동기 함수는 Node.js 프로그램의 성능을 향상시키는 좋은 방법입니다. 이 기사에서는 비동기 기능을 사용하는 방법과 이들이 제공하는 몇 가지 이점에 대해 설명합니다.
비동기 후크는 비동기 작업을 추적하는 방법입니다. 코드를 계측하고, 데이터를 수집하고, 성능을 개선하는 데 사용할 수 있습니다.
비동기 후크는 Node.js 8에서 도입되었습니다. Node.js 10부터 7가지 비동기 후크가 있습니다.
async_hooks.createHook
: 새로운 비동기 후크 인스턴스를 생성하는 데 사용됩니다.async_hooks.executionAsyncId
: 현재 실행 컨텍스트의 비동기 ID를 가져오는 데 사용됩니다.async_hooks.triggerAsyncId
: 현재 비동기 작업 트리거의 비동기 ID를 가져오는 데 사용됩니다.async_hooks.currentId
: 현재 비동기 작업의 비동기 ID를 가져오는 데 사용됩니다.async_hooks.emitInit
: '초기화' 이벤트를 내보내는 데 사용됩니다.async_hooks.emitBefore
: '이전' 이벤트를 내보내는 데 사용됩니다.async_hooks.emitAfter
: '이후' 이벤트를 내보내는 데 사용됩니다.async_hooks.emitDestroy
: 'destroy' 이벤트를 내보내는 데 사용됩니다.비동기 후크는 비동기 작업의 수명 주기를 추적하는 데 사용할 수 있습니다. 'init', 'before', 'after' 및 'destroy' 이벤트는 수명 주기의 서로 다른 지점에서 발생합니다.
비동기 작업이 생성되면 'init' 이벤트가 발생합니다. 비동기 작업이 실행되기 전에 'before' 이벤트가 발생합니다. 비동기 작업이 실행된 후 'after' 이벤트가 발생합니다. 비동기 작업이 소멸되면 'destroy' 이벤트가 발생합니다.
비동기 후크는 비동기 작업에 대한 데이터를 수집하는 데 사용할 수 있습니다. 이 데이터를 사용하여 성능을 향상시킬 수 있습니다.
비동기 후크는 콜백 또는 약속의 두 가지 방법으로 사용할 수 있습니다.
콜백을 사용하는 것은 비동기 후크를 사용하는 가장 일반적인 방법입니다. 콜백과 함께 비동기 후크를 사용하려면 먼저 후크 인스턴스를 생성해야 합니다. 이것은 async_hooks.createHook
함수로 수행됩니다.
const asyncHooks = require('async_hooks');
const hook = asyncHooks.createHook({
init,
before,
after,
destroy
});
createHook
함수는 init
, before
, after
및 destroy
의 네 가지 속성을 가진 개체를 사용합니다. 이러한 속성은 해당 이벤트가 발생할 때 호출되는 함수입니다.
'init' 이벤트가 발생하면 'init' 함수가 호출됩니다. 'before' 이벤트가 발생하면 'before' 함수가 호출됩니다. 'after' 함수는 'after' 이벤트가 발생할 때 호출됩니다. 'destroy' 함수는 'destroy' 이벤트가 발생하면 호출됩니다.
함수에는 asyncId
인수가 전달됩니다. 이 인수는 비동기 작업의 비동기 ID입니다.
function init(asyncId) {
// do something
}
function before(asyncId) {
// do something
}
function after(asyncId) {
// do something
}
function destroy(asyncId) {
// do something
}
후크 인스턴스가 생성된 후 활성화해야 합니다. 이것은 '활성화' 기능으로 수행됩니다.
hook.enable();
후크가 활성화되면 비동기 작업 추적을 시작합니다. createHook
함수에 전달된 함수는 적절한 시간에 호출됩니다.
후크를 비활성화하려면 disable
기능을 사용할 수 있습니다.
hook.disable();
비동기 후크는 약속과 함께 사용할 수도 있습니다. 약속과 함께 비동기 후크를 사용하려면 먼저 후크 인스턴스를 생성해야 합니다. 이것은 async_hooks.createHook
함수로 수행됩니다.
const asyncHooks = require('async_hooks');
const hook = asyncHooks.createHook({
init,
before,
after,
destroy
});
createHook
함수는 init
, before
, after
및 destroy
의 네 가지 속성을 가진 개체를 사용합니다. 이러한 속성은 해당 이벤트가 발생할 때 호출되는 함수입니다.
'init' 이벤트가 발생하면 'init' 함수가 호출됩니다. 'before' 이벤트가 발생하면 'before' 함수가 호출됩니다. 'after' 함수는 'after' 이벤트가 발생할 때 호출됩니다. 'destroy' 함수는 'destroy' 이벤트가 발생하면 호출됩니다.
함수에는 asyncId
인수가 전달됩니다. 이 인수는 비동기 작업의 비동기 ID입니다.
function init(asyncId) {
// do something
}
function before(asyncId) {
// do something
}
function after(asyncId) {
// do something
}
function destroy(asyncId) {
// do something
}
후크 인스턴스가 생성된 후 활성화해야 합니다. 이것은 '활성화' 기능으로 수행됩니다.
hook.enable();
후크가 활성화되면 비동기 작업 추적을 시작합니다. createHook
함수에 전달된 함수는 적절한 시간에 호출됩니다.
후크를 비활성화하려면 disable
기능을 사용할 수 있습니다.
hook.disable();
비동기 후크는 비동기 작업에 대한 데이터를 수집하는 데 사용할 수 있습니다. 이 데이터를 사용하여 성능을 향상시킬 수 있습니다.
비동기 후크는 비동기 작업에 대한 데이터를 수집하는 데 사용할 수 있습니다. 이 데이터를 사용하여 성능을 향상시킬 수 있습니다.
비동기 후크는 프로그램에서 일어나는 일을 이해하는 데 도움이 될 수 있습니다. 병목 현상을 찾고 코드를 최적화하는 데 사용할 수 있습니다.
비동기 후크를 사용하여 코드를 계측할 수도 있습니다. 계측은 데이터를 수집하기 위해 프로그램에 코드를 추가하는 프로세스입니다. 비동기 후크는 코드를 계측하고 비동기 작업에 대한 데이터를 수집하는 데 사용할 수 있습니다. 이 데이터를 사용하여 성능을 향상시킬 수 있습니다.
계측을 사용하여 비동기 작업에 대한 데이터를 수집할 수 있습니다. 이 데이터를 사용하여 성능을 향상시킬 수 있습니다.
비동기 후크는 비동기 작업에 대한 데이터를 수집하는 강력한 방법입니다. 이 데이터를 사용하여 성능을 향상시킬 수 있습니다. 비동기 후크는 코드 계측, 데이터 수집 및 성능 향상에 사용할 수 있습니다.