javascript ajax 和 promise 合作处理 业务请求和 进度 的实际 代硬驱
时间: 2024-09-20 14:03:52 浏览: 66
在JavaScript中,AJAX(Asynchronous JavaScript and XML)是一种异步数据通信技术,用于在不刷新整个页面的情况下从服务器获取数据。而Promise则是处理异步操作的一种现代编程模式,它提供了一种更清晰的方式来组织回调函数链。
当结合AJAX和Promise时,我们可以更好地管理Ajax请求的发起、响应以及可能出现的错误,并跟踪请求的进度。这里是一个简单的示例:
```javascript
function fetchData(url) {
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.onload = function() {
if (xhr.status === 200) {
resolve(xhr.responseText);
} else {
reject(new Error('Failed to load data with status ' + xhr.status));
}
};
xhr.onerror = function() {
reject(new Error('There was a network error'));
};
xhr.send();
});
}
// 使用fetchData并处理结果和进度
fetchData('https://api.example.com/data')
.then(response => {
// 解析响应数据
console.log('Data fetched:', response);
// 可能的情况:展示进度条更新或分块加载数据
// 如果有进度事件,可以在这里处理
})
.catch(error => {
// 处理错误
console.error('Error occurred:', error);
});
阅读全文