>  기사  >  웹 프론트엔드  >  nodejs에서 wait를 사용하는 방법

nodejs에서 wait를 사용하는 방법

WBOY
WBOY원래의
2022-06-29 15:54:124090검색

nodejs에서 대기는 비차단 방식으로 실행을 일시 중지하고 약속의 비동기 요청을 기다리고 비동기 메서드가 실행을 완료할 때까지 기다리는 데 사용됩니다. 대기는 비동기 함수에서 반환 값을 기다리는 데 사용할 수 있습니다. 비동기 함수; 약속이 반환됩니다. 거부가 실패하면 거부 값이 발생하고 "try/catch"로 캡처할 수 있습니다.

nodejs에서 wait를 사용하는 방법

이 문서의 운영 환경: Windows 10 시스템, nodejs 버전 12.19.0, Dell G3 컴퓨터.

nodejs에서 wait를 사용하는 방법

Async/await 사용법은 Node.js 7 night에서 도입되었지만 공식적으로 async/await 기능을 활성화하는 것은 Node.js 8 및 Javascript V8에서만 가능합니다.

비동기/대기란 무엇인가요? 과거에 Promise를 사용하여 비동기 작업을 구현하는 방법 다음 사례는 Promise 및 Fetch API를 사용하여 데이터를 캡처하는 방법을 보여줍니다.

function getTrace () { 
return fetch('https://www.jdon.com', { 
method: 'get' 
}) 
} 
getTrace() 
.then() 
.catch()

async/await를 사용하면 비차단 방식으로 실행을 일시 중지하고 결과를 기다릴 수 있습니다. Promise가 반환되는 경우 거부가 실패하면 거부 값이 발생하고 try/catch로 캡처할 수 있습니다. 위의 경우는 async/await를 사용하여 다음과 같이 작성할 수 있습니다.

function async getTrace () { 
let pageContent
try { 
pageContent = await fetch('https://www.jdon.com', { 
method: 'get' 
}) 
} catch (ex) { 
console.error(ex) 
} 
return pageContent
} 
getTrace() 
.then()

Node.js에서 async/await를 사용하고, settimeout을 사용하여 함수 실행을 지연시키고, async/await 캡슐화를 사용하는 경우를 살펴보겠습니다.

// app.js
const timeout = function (delay) { 
return new Promise((resolve, reject) => { 
setTimeout(() => { 
resolve() 
}, delay) 
}) 
} 
async function timer () { 
console.log('timer started') 
await Promise.resolve(timeout(100)); 
console.log('timer finished') 
} 
timer()

이 app.js 파일을 만들고 다음을 실행하세요.

node app.js

실행할 수 없다면 nodejs가 nightly 버전이고 공식적으로 async/await를 지원하지 않는 것일 수 있습니다. 명령줄은 다음과 같아야 합니다.

node --harmony-async-await app.js

추천 학습: "nodejs 비디오 튜토리얼"

위 내용은 nodejs에서 wait를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.