값 대신 Promise를 반환하는 비동기 함수
async/await 프로그래밍에서 비동기 함수는 항상 Promise를 반환합니다. 이 약속은 함수의 비동기 작업의 최종 완료를 나타냅니다.
다른 비동기 컨텍스트에서 비동기 함수를 호출할 때 약속이 확정될 때까지 대기를 활용하여 일시 중지할 수 있습니다. 그러나 비동기가 아닌 컨텍스트(종종 최상위 수준 또는 이벤트 핸들러)에서는 다음 Promise를 직접 사용해야 합니다.
latestTime() .then(time => { console.log(time); }) .catch(error => { // Handle/report error });
최신 환경에서는 최상위 수준 Wait가 모듈 내에서 지원됩니다.
const time = await latestTime();
더 잘 이해하기 위해 비동기 함수의 명시적인 Promise 콜백 버전을 살펴보겠습니다.
function latestTime() { return new Promise((resolve, reject) => { web3.eth.getBlock('latest') .then(bl => { console.log(bl.timestamp); console.log(typeof bl.timestamp.then == 'function'); resolve(bl.timestamp); }) .catch(reject); }); }
여기서 콜백 버전:
위 내용은 비동기 함수가 JavaScript에서 항상 Promise를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!