promise 知识点
时间: 2024-10-04 11:04:03 浏览: 14
Promise 是一种在 JavaScript 中用于处理异步操作的对象。它封装了异步操作的结果,使得开发者可以更好地管理回调地狱的问题,并提供了一种更清晰、线性的代码结构。Promise 对象有三种状态:
1. **Pending**(等待中):初始状态,表示操作尚未开始或者还在进行中。
2. **Fulfilled**(已成功):一旦异步操作完成并返回了一个值,Promise 就会从 Pending 转变为 Fulfilled,此时 `.then` 方法链将被执行。
3. **Rejected**(已失败):如果异步操作抛出了错误,Promise 会转变为 Rejected,`.catch` 或者 `.then.catch` 方法链将被执行。
Promise 的核心方法包括:
- `resolve(value)`:将 Promise 变成已完成状态,传递给 `.then` 方法的回调函数作为结果。
- `reject(error)`:将 Promise 变成已失败状态,传递给 `.catch` 方法的回调函数处理错误。
- `then(onFulfilled, onRejected)`:成功时调用 onFulfilled,失败时调用 onRejected(可选)。
- `catch(onRejected)`:简写形式,仅用于处理错误。
相关问题
promise 相关知识点
Promise 是 JavaScript 中的一种异步编程解决方案,它可以让我们更方便地处理异步操作,避免回调地狱的问题。Promise 有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败),一旦状态改变,就不会再变。Promise 可以通过 then 方法来获取异步操作的结果,也可以通过 catch 方法来捕获异步操作中的错误。
axios相关知识点
axios是一个流行的JavaScript库,用于在浏览器和Node.js环境中发起HTTP请求。它提供了一个简洁、易于使用的API,使得异步数据获取变得简单。下面是axios的一些关键知识点:
1. 异步请求:axios的核心功能就是发送GET、POST等HTTP请求,并支持Promise返回结果,这意味着你可以链式调用方法,处理响应数据。
2. 配置选项:axios实例或每个请求可以设置一些配置参数,如baseURL(默认域名)、headers(自定义请求头)、timeout(超时时间)等。
3. 进度事件:axios支持进度事件,如onUploadProgress和onDownloadProgress,可以监听上传/下载文件时的数据传输进度。
4. 响应拦截器:可以通过安装中间件的方式来添加请求前和请求后的钩子,对所有请求或特定类型的请求进行修改。
5. 错误处理:axios会自动转换服务器返回的错误为JavaScript异常,方便开发者捕获并处理网络错误。
6. Cancelable Promise:axios的请求是可取消的,这意味着你可以在一个长时间运行的任务中随时取消请求,比如用户关闭页面时。