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对象。
剩下的改天写

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐