TypeScript 또는 JavaScript의 EventEmitter에 비동기 콜백을 제공 할 수 있습니까? EventEmitter에 대한 비동기 콜백
someEmitter.on("anEvent", async() => console.log("hello"));
TypeScript 또는 JavaScript의 EventEmitter에 비동기 콜백을 제공 할 수 있습니까? EventEmitter에 대한 비동기 콜백
someEmitter.on("anEvent", async() => console.log("hello"));
예, 당신은 eventEmitter에 비동기 기능을 제공 할 수 있습니다 그리고 당신이 콜백 내부TypeScript 또는 JavaScript의 EventEmitter에 비동기 콜백을 제공 할 수 있습니까?
await
를 사용 할 수 있지만, 마술 비동기 함수를 실행하지 않습니다.
콜백 함수 외부의 내용도 변경되지 않습니다. eventEmitter는 이벤트가 발생할 때 콜백을 호출합니다. 귀하의 콜백은 eventEmitter 객체가 아무 것도하지 않을 것이라는 약속을 반환하게 될 것입니다.
따라서 내부적 인 이유로 인해 await
을 콜백 함수 내부에서 사용할 수 있지만 콜백 외부의 다른 것은 변경하지 않습니다. eventEmitter가 어떤 방식 으로든 나머지 업무를 수행하는 방식은 변경되지 않습니다.
이로 인해 함수가 비동기 적으로 실행됩니까?
아니요. 함수 호출 방식은 변경되지 않습니다. 함수가 동기 코드로만 구성되어 있으면 함수는 여전히 호출되어 동 기적으로 실행됩니다.
FYI는 async
으로 선언 된 모든 함수에 해당합니다. 함수가 어떤 식 으로든 호출되는 방식은 변경되지 않습니다. 함수 내에서 할 수있는 몇 가지 사항을 변경하고 함수가 약속을 반환하도록 강요하지만 함수가 호출되는 방식은 변경되지 않습니다. 동기 코드는 비동기 함수인지 아니면 일반 함수인지에 관계없이 동기 코드입니다. 비동기 함수가 실제로 무엇인지에 대해 더 많이 읽으라고 제안합니다.