axios返回的就是一个promise对象 为什么有很多人还是会promise再封装一次呢?
例如:
export function get (url, data = {}) {
return new Promise((resolve, reject) => {
axios.get(url, {params: data})
.then(response => {
resolve(response.data)
}, err => {
reject(err)
})
})
}
axios库本身是一个基于Promise的HTTP客户端库,它使用Promise来处理异步操作。如果你直接使用axios实例,它会将请求转换为Promise对象,然后在请求成功或失败时,使用then和catch方法来处理结果。这种方式是相当简单的,但可能不是最高效的。
另外,Promise对象在处理多个请求时可以更容易地管理和维护。如果你在处理请求时创建了多个Promise对象,那么它们可能会相互依赖,而如果你使用axios封装Promise,你可以很容易地管理它们。
最后,Promise还可以帮助你更好地控制异步操作。你可以使用Promise的then方法来定义异步操作的结果,然后在Promise对象的状态改变时,使用catch方法来处理错误。这种方式可以帮助你更好地理解异步操作的状态,以及如何处理可能出现的错误。
因此,使用axios封装Promise可以让你更方便地处理异步操作,更易于管理和维护,也可以帮助你更好地控制异步操作的状态。