Vue笔记九:axios原理之promise
axios是基于promise的HTTP库,支持promise所有的APIpromise是JS中解决异步编程的语法,从语法上来讲,promise是一个构造函数,从功能来讲,用promise对象封装异步操作并获取结果。promise支持链式调用,可以解决回调地狱(多级的异步嵌套调用)。promise的基本使用创建promise对象并使用回调函数如果当前时间是奇数,则调用reject()反之,偶数调用
·
axios是基于promise的HTTP库,支持promise所有的API
promise概念
promise是JS中解决异步编程的语法,从语法上来讲,promise是一个构造函数,从功能来讲,用promise对象封装异步操作并获取结果。
promise支持链式调用,可以解决回调地狱(多级的异步嵌套调用)。
promise的基本使用
创建promise对象并使用回调函数
<script>
const p=new Promise((resolve,reject)=>{
// 执行异步操作
setTimeout(()=>{
const time=Date.now()
// 当前的时间为偶数则成功,当前的时间为奇数则失败
if(time%2==0){
// 执行成功调用resolve
resolve('成功的数据:'+time)
}
else{
reject('失败的数据:'+time)
}
},1000)
})
p.then(
value=>{
// 接收成功的数据
console.log('接收成功的数据:'+value)
},
reson=>{
// 接收失败的数据
console.log('接收失败的数据:'+reson)
}
)
</script>
如果当前时间是奇数,则调用reject()反之,偶数调用resolve()
.then是获取成功或者失败的数据
async和await
async和await是编写异步操作的解决方案,也是建立在promise上的新写法
两者同时使用,如果在方法中使用了await,那么必须在方法的前面加上async
1.async函数
async的右侧是一个函数,函数的返回值是promise对象。
剩下的改天写
更多推荐
已为社区贡献3条内容
所有评论(0)