비동기식 JavaScript 태그
7232 단어 JavaScriptNodetech
async/await의 기본 사용법
예를 들어, 나는 어떤 WebAPI를 쳐서 다른 WebAPI에 POST를 쓴 다음에 결과의 처리를 되돌려 보려고 한다.
fetch()
Promise로 돌아갑니다.const fetch = require("node-fetch");
async function cron(msg) {
const getResponse = await fetch("https://httpbin.org/get");
const json = await getResponse.json();
const request = {
method: "POST",
body: "my IP address=" + json.origin
};
const postResponse = await fetch("https://httpbin.org/post", request);
const postJson = await postResponse.json();
return postJson;
}
(async function () {
const result1 = await cron("hoge");
console.log(JSON.stringify(result1, null, 2));
})();
전망이 좋다.예외 처리 프로그램이 async/await라면 직접 쓸 수도 있습니다.
async function throwError() {
throw "ERROR";
return "result";
}
(async function () {
try {
const result2 = await throwError()
console.log(result2) // ここは出力されない
} catch (err) {
console.log(err)
}
})();
비동기식 JavaScript의 역모드
아니요 () new Promise
Promise를 반환하는 함수는 async function으로 대체할 수 있습니다.Promise를 사용하면 콜백 형태로 바뀌어 어쨌든 전망이 나빠진다.new Promise()가 가능한 것은 헤이세이다.이 시대에 쓴 코드에 async를 사용하세요.
하지만 구고 등은 호출 형식만 지원하는 경우도 있다.setTimeout과 같습니다.이런 API와 사귈 때만 Promise를 사용하세요.
await에서 Promise 대상을 기다리세요
Promise 객체는
Promise.then()
에 콜백 함수를 등록해도 결과를 얻을 수 있습니다.그러나 아무래도 호출이어서 가독성이 떨어졌다.await를 통해 Promise 객체의 반환 결과를 얻을 수 있습니다.
await를 사용하세요.
Reference
이 문제에 관하여(비동기식 JavaScript 태그), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/zakkie/articles/6edbf9a738ca84텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)