첫 번째에는 두 번째가 모듈을 실행하거나 종료하도록하는 조건부 반환 매개 변수가 있기 때문에 두 개의 비동기 함수를 함께 연결하려고했습니다. 그러나 사양에서 찾을 수없는 이상한 동작을 발견했습니다.
async function isInLobby() {
//promise.all([chained methods here])
let exit = false;
if (someCondition) exit = true;
}
이것은 내 코드 ( 여기 에서 전체 범위를 볼 수 있음)의 멍청한 스 니펫으로 , 플레이어가 이미 로비에 있는지 확인하기 만하면되지만 관련이 없습니다.
다음으로이 비동기 함수가 있습니다.
async function countPlayer() {
const keyLength = await scardAsync(game);
return keyLength;
}
이 함수는 exit === true
.
나는하려고했다
const inLobby = await isInLobby();
이것은 결과를 기다리고 싶었으므로 inLobby
조건부로 실행할 수 countPlayer
있지만 특정 세부 사항이없는 유형 오류가 발생했습니다.
수없는 이유는 당신 기능의 범위의 기능 밖에? 나는 그것이 설탕 약속이라는 것을 압니다. 그래서 그것은 연결 되어야만합니다. 그러나 그것은 왜 내가 다른 약속을 기다릴 수 있지만 밖에서는 할 수없는 이유 입니까?await
async
then
countPlayer
await
isInLobby
await isInLobby()
과 어떻게inLobby
사용 되는지 보여줄 수 있습니까 ? 또한, 어디 / 어떻게countPlayer
호출됩니까?