Promise是JavaScript中处理异步操作的一种机制。
它代表了一个异步操作的最终完成或失败,并可以获取其结果。
使用Promise可以更方便地管理异步代码,避免了回调地狱(callback hell)的问题,使代码更易读、可维护。
在Promise中,异步操作被封装在一个Promise对象中,
它有三个状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。当异步操作完成时,可以通过resolve瑞扫 函数将Promise状态从pending变为fulfilled,并传递异步操作的结果;而在异步操作失败时,可以通过reject函数将Promise状态从pending变为rejected,并传递失败的原因。
function makeAsyncRequest(ur1) {
return new Promise((resolve, reject) => {
const xhr =new XMLHttpRequest();
xhr.open("GET',url, true)
;xhr. send();
xhr.onreadystatechange = function () {
if (xhr.status === 208) {
resolve(xhr.responseText);
}else {
reject(new Error(xhr.statusText));
}
}
xhr.onerror = function () {
reject(new Error( 'Network error'));
}
})
}
makeAsyncRequest('https://api.example.com/data' ).
.then(response => {
console.log('异步请求成功:,response);.
}
.catch(error => {
console.error('异步请求失败:",error);
}