使用promise封装ajax请求_promise ajax,值得收藏
// 使用Promise封装Ajax请求的函数
function fetchData(url) {
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.onload = () => {
if (xhr.status === 200) {
resolve(xhr.responseText);
} else {
reject(new Error(`Error: ${xhr.status}`));
}
};
xhr.onerror = () => reject(new Error('Network Error'));
xhr.send();
});
}
// 使用封装后的函数发起请求
fetchData('https://api.example.com/data').then(response => {
console.log(response); // 处理响应数据
}).catch(error => {
console.error(error); // 处理错误情况
});
这段代码定义了一个名为fetchData
的函数,它接受一个URL作为参数,并返回一个Promise对象。通过这个封装,我们可以使用.then()
和.catch()
方法来处理异步操作的成功和失败情况,而不用操心回调地狱。这是一个简洁且有效的异步请求处理方法。
评论已关闭