Wait 문의 실행 순서와 일치하지 않음
P粉691461301
P粉691461301 2023-09-12 13:42:02
0
1
545

코드 실행 순서에서 예상치 못한 동작이 발생했습니다. 코드 조각은 다음과 같습니다.

으아악

실행 순서는 1,3,2가 될 것으로 예상합니다. 그러나 코드를 실행하면 실제 순서는 1,2,3입니다. 왜 이런 일이 일어나는지 설명해 줄 수 있나요?

또한 getScenario() 앞에 return 문을 포함하도록 reloadScenarios 함수를 수정했을 때 실행 순서가 원하는 순서인 1, 3, 2로 변경되는 것을 확인했습니다. return 문이 정말로 필요합니까, 아니면 원하는 순서를 달성하기 위한 다른 설명이 있습니까?

P粉691461301
P粉691461301

모든 응답(1)
P粉019353247

귀하의 문제는 비동기적이지 않고 약속을 반환하지 않는 함수를 호출하기 위해 대기를 사용하고 있다는 것입니다. 함수가 Promise를 반환하지 않으므로 실행이 계속됩니다.

표시된 시퀀스를 "1,3 2"로 지정하려면 함수에 async

를 표시해야 합니다. 으아아아

이렇게 await reloadScenarios 표시를 하면 Promise가 해결(또는 거부)되기를 기다리고 있습니다.

자세한 내용은 문서를 참조하세요. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await

편집 죄송합니다. 한 가지 문제가 더 있습니다. 함수에서 약속도 반환해야 합니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!