코드 냄새 155 - 여러 약속
TL;DR: Don't block yourself in a sorted way.
문제
솔루션
문맥
운영 체제를 공부하면서 세마포어에 대해 들었습니다.
어떤 주문을 하든지 모든 조건이 충족될 때까지 기다려야 합니다.
샘플 코드
잘못된
async fetchOne() { /* long task */ }
async fetchTwo() { /* another long task */ }
async fetchAll() {
let res1 = await this.fetchOne();
let res2 = await this.fetchTwo();
// they can run in parallel !!
}
오른쪽
async fetchOne() { /* long task */ }
async fetchTwo() { /* another long task */ }
async fetchAll() {
let [res3, res4] = await Promise.all([this.fetchOne(), this.fetchTwo()]);
//We wait until ALL are done
}
발각
[X] 반자동
이것은 시맨틱 냄새입니다.
약속 대기와 관련된 몇 가지 패턴을 찾도록 린터에 지시할 수 있습니다.
태그
잘못된
async fetchOne() { /* long task */ }
async fetchTwo() { /* another long task */ }
async fetchAll() {
let res1 = await this.fetchOne();
let res2 = await this.fetchTwo();
// they can run in parallel !!
}
오른쪽
async fetchOne() { /* long task */ }
async fetchTwo() { /* another long task */ }
async fetchAll() {
let [res3, res4] = await Promise.all([this.fetchOne(), this.fetchTwo()]);
//We wait until ALL are done
}
발각
[X] 반자동
이것은 시맨틱 냄새입니다.
약속 대기와 관련된 몇 가지 패턴을 찾도록 린터에 지시할 수 있습니다.
태그
결론
[실제](( ) 비즈니스 규칙에 최대한 근접해야 합니다.
규칙에 모든 작업을 기다려야 한다고 명시되어 있으면 특정 순서를 강제로 적용해서는 안 됩니다.
학점
아이디어 주셔서 감사합니다
네이선 윌콕스
@natewilcox23
여러 약속을 기다리고 있습니까? 진행하기 전에 개별 응답을 기다리는 대신 Promise.all()을 사용하여 한 번에 모두 수행해 보십시오.
오후 20:52 - 2022년 6월 29일
사진 제공: Alvin Mahmudov on Unsplash
JavaScript is the only language that I'm aware of that people feel they don't need to learn before they start using it.
더글라스 크록포드
소프트웨어 엔지니어링 좋은 인용구
Maxi Contieri ・ 12월 28일 '20 ・ 13분 읽기
#codenewbie
#programming
#quotes
#software
이 기사는 CodeSmell 시리즈의 일부입니다.
코드에서 냄새 나는 부분을 찾는 방법
Maxi Contieri ・ 2021년 5월 21일 ・ 7분 읽기
#codenewbie
#tutorial
#codequality
#beginners
Reference
이 문제에 관하여(코드 냄새 155 - 여러 약속), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/mcsee/code-smell-155-multiple-promises-5ed4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
아이디어 주셔서 감사합니다
네이선 윌콕스
@natewilcox23
여러 약속을 기다리고 있습니까? 진행하기 전에 개별 응답을 기다리는 대신 Promise.all()을 사용하여 한 번에 모두 수행해 보십시오.
오후 20:52 - 2022년 6월 29일
사진 제공: Alvin Mahmudov on Unsplash
JavaScript is the only language that I'm aware of that people feel they don't need to learn before they start using it.
더글라스 크록포드
소프트웨어 엔지니어링 좋은 인용구
Maxi Contieri ・ 12월 28일 '20 ・ 13분 읽기
#codenewbie
#programming
#quotes
#software
이 기사는 CodeSmell 시리즈의 일부입니다.
코드에서 냄새 나는 부분을 찾는 방법
Maxi Contieri ・ 2021년 5월 21일 ・ 7분 읽기
#codenewbie
#tutorial
#codequality
#beginners
Reference
이 문제에 관하여(코드 냄새 155 - 여러 약속), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mcsee/code-smell-155-multiple-promises-5ed4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)