Promise发送请求
时间: 2024-07-11 08:01:06 浏览: 129
封装 axios+promise通用请求函数操作
5星 · 资源好评率100%
Promise 是 JavaScript 中一种处理异步操作的方式,特别适用于像网络请求这样的非阻塞操作。当发送网络请求时,由于网络延迟或服务器响应时间,我们不能立即得到结果,这时就可以使用 Promise 来管理这个过程。
当你调用一个返回 Promise 的 API(比如发送 HTTP 请求)时,这个函数会立即返回一个 Promise 对象,表示该操作还未完成。你可以链式调用 `.then()` 和 `.catch()` 方法来设置回调函数,这些回调会在 Promise 完成并成功(`.then()`) 或失败(`.catch()`) 时执行:
```javascript
fetch('https://api.example.com/data')
.then(response => {
if (response.ok) {
return response.json(); // 如果请求成功,解析响应体为 JSON
} else {
throw new Error(`Request failed with status ${response.status}`);
}
})
.then(data => console.log(data)) // 成功后处理数据
.catch(error => console.error(error)); // 处理错误
```
在这个例子中,`fetch()` 返回一个 Promise,然后 `response.json()` 也返回一个 Promise。如果整个流程顺利,我们会得到期望的数据;如果有任何错误(如网络连接断开、HTTP 错误等),则会执行 `.catch()` 中的代码。
阅读全文