μλ°μ€ν¬λ¦½νΈμμ λΉλκΈ° ν¨μμΈ Web APIsλ₯Ό μ€νν λ μ€νν μ½λκ° μλ£λ λκΉμ§ λκΈ°νμ§ μκ³ λ°λ‘ λ€μ μ½λλ₯Ό μ€νν μ μλλ‘ ν΄μ£Όκ³ , λΉλκΈ° ν¨μμ μ€νμ΄ μλ£λλ©΄ then() ν¨μλ₯Ό ν΅ν΄μ κ·Έ κ²°κ³Όμ λν μ½λλ₯Ό μ€νν μ μκ² ν΄μ€
new μμ±μ ν¨μλ₯Ό μ¬μ©ν΄μ μμ±
μμ²μ λν μλ΅μ΄ μ±κ³΅μ μΌλ‘ μ€λ©΄ resolve() ν¨μμ κ²°κ³Όλ₯Ό μ λ¬νκ³ , μλ΅μ μ€ν¨νλ©΄ reject() ν¨μμ μλ¬λ₯Ό μ λ¬ν¨
const promise = new Promise((resolve, reject) => { if (/* μ²λ¦¬ μ±κ³΅ */) { resolve("κ²°κ³Ό λ°μ΄ν°"); } else { reject(new Error("μλ¬")); } });
function getDataPromise() {
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.open("GET", "https://jsonplaceholder.typicode.com/posts/1");
xhr.setRequestHeader("content-type", "application/json");
xhr.send();
xhr.onload = () => {
if (xhr.status === 200) {
const res = JSON.parse(xhr.response);
resolve(res);
} else {
console.error(xhr.status, xhr.statusText);
reject(new Error(xhr.status));
}
}
});
}
getDataPromise().then((res) => {
console.log(res);
console.log("λ€μ μ½λλ₯Ό μ€νν©λλ€.");
});
