최근 웹 응용 프로그램을 개발하여 비동기 속성을 전혀 사용하지 않는다는 것을 알고 있습니다. 그래서 나는 많은 중첩 콜백으로 끝을 맺고있다. 사용자가 특정 API를 통해 서버에서 파일을 얻으려면Node.js 비동기 유스 케이스
예를 들어, 나는
db.query(<select list of permitted files_names>, function(err, filenames) {
async.each(file_names, function(name, next) {
//open each file to put into array
});
})
이 코드는 파일의 목록을 가져올 데이터베이스를 조회 할 필요가,이 유사한 코드를해야합니다 이름을 비동기 적으로 반복하고 각 파일 내용을 배열에 넣기 전에 마지막으로 완성 된 배열을 클라이언트에 반환합니다.
중첩 된 콜백 및 비동기 라이브러리를 사용하면이 코드는 동기식 코드처럼 작동합니다.
names = db.querySync(//select list of permitted files_names);
for(name in names) {
//open each file to put into array
}
동기식 코드를 작성하는 것이 훨씬 낫습니다. 내 유스 케이스가 좀 이상 할 수도 있지만 내 API의 대부분이 비슷한 방식으로 동작하므로 비동기 함수가 필요한 이유가 무엇인지 생각하게한다.
성능면에서이 두 코드의 차이점이 있다면 누군가 가르쳐 주시겠습니까? 이 사용 사례의 성능을 향상시키기 위해 비 차단 속성을 사용하려면 어떻게해야합니까?
검색과 같이 쓸 수있다 위/Aᴍɪʀ @ 자바 스크립트 –
에서 기다리고 - 왜 비동기/await를 관련 것입니까? –