비동기 함수 및 약속
비동기 작업을 수행할 때는 비동기 함수와 약속이 상호 작용하는 방식을 이해하는 것이 중요합니다.
비동기 함수는 항상 반환됩니다. 약속
일반 함수와 달리 비동기 함수는 항상 비동기 작업의 완료를 나타내는 약속을 반환합니다. 이렇게 하면 순차 코드에서 비동기 작업을 더 간단하게 처리할 수 있습니다.
예:
async function latestTime() { const bl = await web3.eth.getBlock('latest'); return bl.timestamp; }
원시 값과 약속 반환
함수가 기본 값(bl.timestamp)을 반환하더라도 최신 시간() 함수 자체는 약속을 반환합니다. 이로 인해 반환 값에 액세스하려고 할 때 혼란이 발생할 수 있습니다.
Promise 사용
반환된 Promise의 해결된 값에 액세스하려면 then( ) 방법:
latestTime().then((time) => { console.log(time); });
또는 최신 JavaScript 환경에서는 최상위 수준을 사용할 수 있습니다. wait:
const time = await latestTime(); console.log(time);
명시적 약속 처리
명확성을 위해 다음은 약속 콜백 측면에서 비동기 함수가 작동하는 방식을 보다 명시적으로 표현한 것입니다.
function latestTime() { return new Promise((resolve, reject) => { web3.eth.getBlock('latest').then((bl) => { resolve(bl.timestamp); }) }); }
위 내용은 JavaScript에서 비동기 함수와 약속은 어떻게 함께 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!