내가 질문을 커버 할 수있는 희망을 구축 할 event-driven
아키텍처를 사용할 수 있습니다. 기본적으로 '이벤트 중심 아키텍처'라는 용어는 다르게 설명 할 수 있습니다. 하나의 경우에는 모든 비동기 기능을 설명하는 기본 코어 NodeJS 플로우입니다. 다른 경우에는 질문의 근원이 이벤트, 이벤트 이미 터 등과 관련 될 수 있습니다.
하지만 모든 비동기 작업을 기다려야한다는 주요 아이디어가 있습니다. 스레드 블로킹을 피하기 위해 더 많은 요청을 기다리지 않고 코드의 나머지 부분을 처리합니다. 그리고이 비동기 기능을 처리하는 방법을 알아야합니다. 기본 비동기 흐름
내가 알고있는 것처럼
는, 당신은 NodeJS에서 비동기 작업에 관련된 질문 있어요. 이것이 바로 기술의 근원입니다. 모든 과중한 작업은 비동기 적으로 처리됩니다. V8 및 이벤트 루프에 관한 내용입니다.
비동기 작업을 수행하려면 콜백 함수, 약속 또는 비동기 대기 구문을 사용할 수 있습니다.
콜백 기능
function asyncFunction(params, callback) {
//do async stuff
callback(err, result);
}
function callbackFunction(err, result) {
}
asyncFunction(params, callbackFunction);
약속
promiseFunction()
.then(anotherPromiseFunction)
.then((result) => {
//handle result
})
.catch((err) => {
//handle error
});
비동기 기다리고
function anotherAsyncFunction() {
//do async stuff
}
const asycnFunction = async (params) => {
const result = await anotherAsyncFunction();
return result;
};
이벤트/E 배기에 미터
const fs = require('fs');
const filePath = './path/to/your/file';
const stream = fs.createReadStream(filePath);
stream.on('data', (data) => {
//do something
});
stream.on('end',() => {
//do something;
});
stream.on('error', (err) => {
//do something;
});
상황과 필요에 따라이 방법을 사용할 수 있습니다. 비동기 흐름 (약속 및 비동기 대기)에서 작업 할 수있는 현대적인 방법이 있으므로 콜백 함수를 건너 뛰는 것이 좋습니다. 그건 그렇고, 'async-await'도 약속을 되 돌린다.
다음은 간단한 Express JS Server (꽤 오래된 구문)의 예입니다. 그러나 여전히 유효합니다.확인 자유롭게 쓸하시기 바랍니다 질문 :
https://blog.risingstack.com/node-js-at-scale-understanding-node-js-event-loop/ https://blog.risingstack.com/mastering-async-await-in-nodejs/
: 여기
https://github.com/roman-sachenko/express-entity-based
내가 당신을 권 해드립니다 기사의 목록입니다