axios,async,promise,await的简单理解与使用

简介: 一.Promise解决的是将“异步过程“变成“同步过程”1.Promise 是一个构造函数⚫ 我们可以创建 Promise 的实例 const p = new Promise()⚫ new 出来的 Promise 实例对象,代表一个异步操作2. Promise.prototype 上包含一个 .then() 方法注:prototype表示该函数的原型,也表示一个类的成员的集合。 在通过new创建一个类的实例对象的时候,prototype对象的成员都成为实例化对象的成员。 2、在new实例化后,其成员被实例化,实例对象方可调用。

axios,async,promise,await的简单理解与使用



文章目录


一.Promise解决的是将“异步过程“变成“同步过程”

二.async代表该方法下面会调用promise请求

三.await就是“等“的意思,在实际需要调用promise的方法前添加,如果调用某个方法的返回值是promise实例,则前面可以添加await,await只能用在被async修饰的方法中

四.调用axios方法得到的返回值是promise对象

五.解构赋值的时候,使用:进行重命名


一.Promise解决的是将“异步过程“变成“同步过程”


1.Promise 是一个构造函数


⚫ 我们可以创建 Promise 的实例 const p = new Promise()


⚫ new 出来的 Promise 实例对象,代表一个异步操作


2. Promise.prototype 上包含一个 .then() 方法


注:prototype表示该函数的原型,也表示一个类的成员的集合。 在通过new创建一个类的实例对象的时候,prototype对象的成员都成为实例化对象的成员。 2、在new实例化后,其成员被实例化,实例对象方可调用。


⚫ 每一次 new Promise() 构造函数得到的实例对象,


⚫ 都可以通过原型链的方式访问到 .then() 方法,例如 p.then()


(1) .then() 方法用来预先指定成功和失败的回调函数


⚫ p.then(成功的回调函数,失败的回调函数)


⚫ p.then(result => { }, error => { })


⚫ 调用 .then() 方法时,成功的回调函数是必选的、失败的回调函数是可选的


(2).then() 方法的特性


如果上一个 .then() 方法中返回了一个新的 Promise 实例对象,则可以通过下一个 .then() 继续进行处理。通

过 .then() 方法的链式调用,就解决了回调地狱的问题


3.通过 .catch 捕获错误


如果不希望前面的错误导致后续的 .then 无法正常执行,则可以将 .catch 的调用提前,示例代码如下:


0bcc96c04cb249dd850e44151fce339f.png


4.Promise.all() 方法


Promise.all() 方法会发起并行的 Promise 异步操作,等所有的异步操作全部结束后才会执行下一步的 .then操作(等待机制)。示例代码如下:


36fdc51edf8b46d1ac13269629f4353b.png


4.Promise.race() 方法


Promise.race() 方法会发起并行的 Promise 异步操作,只要任何一个异步操作完成,就立即执行下一步的

.then 操作(赛跑机制)。示例代码如下


20bbd617dc614071acf9939f7b630402.png


二.async代表该方法下面会调用promise请求


三.await就是“等“的意思,在实际需要调用promise的方法前添加,如果调用某个方法的返回值是promise实例,则前面可以添加await,await只能用在被async修饰的方法中


四.调用axios方法得到的返回值是promise对象


例子:


axios({
// 请求方式
method: ‘GET/POST’,
url: ‘请求的地址’,
// URL 中的查询参数
params: {
id: 1
}
}).then(function (result) {
console.log(result)
})


五.解构赋值的时候,使用:进行重命名


(1)调用axios之后,使用async+await进行简化


(2)使用解构赋值,从axios封装的大对象中,把data属性解构出来


(3)把解构出来的data属性,使用冒号进行重命名,一般都重命名为{data:res}

axios在请求到数据之后,会在真正的数据之外,套了一层壳。会得到6个属性,其中data才是真正的数据


05a62687b51f4fb88dd295d6e3d3f4bc.png


解构例子:


async fangFaMing() {
const { data: res } = await axios.get(‘请求地址’)
console.log(res)
},
目录
相关文章
|
8天前
|
前端开发 JavaScript
解决异步问题,教你如何写出优雅的promise和async/await,告别callback回调地狱!
该文章教授了如何使用Promise和async/await来解决异步编程问题,从而避免回调地狱,使代码更加清晰和易于管理。
解决异步问题,教你如何写出优雅的promise和async/await,告别callback回调地狱!
|
3月前
|
前端开发 JavaScript
Vue 中 Promise 的then方法异步使用及async/await 异步使用总结
Vue 中 Promise 的then方法异步使用及async/await 异步使用总结
76 1
|
2月前
|
前端开发 JavaScript 开发者
探索前端开发中的异步编程:Promise与Async/Await
在现代前端开发中,处理异步操作是至关重要的。本文将深入探讨异步编程的核心概念,重点比较JavaScript中的Promise与Async/Await两种异步编程方式。通过实例和比较,读者将能够理解这两种方法的优缺点,如何在实际开发中选择适合的异步编程模式,从而编写更简洁、可维护的代码。
|
3月前
|
前端开发 JavaScript
JavaScript异步编程:Promise与async/await的深入探索
【7月更文挑战第9天】Promise和async/await是JavaScript中处理异步编程的两大利器。Promise为异步操作提供了统一的接口和链式调用的能力,而async/await则在此基础上进一步简化了异步代码的书写和阅读。掌握它们,将使我们能够更加高效地编写出清晰、健壮的异步JavaScript代码。
|
3月前
|
前端开发 JavaScript
js 等待接口访问成功后执行指定代码【3种方法】(含async await Promise的使用)
js 等待接口访问成功后执行指定代码【3种方法】(含async await Promise的使用)
65 1
|
3月前
|
前端开发 小程序 API
【微信小程序】使用 Promise、async 和 await 将异步API 改写为同步
【微信小程序】使用 Promise、async 和 await 将异步API 改写为同步
49 0
|
3月前
|
JavaScript API
前后端数据交互.js文件的axios的写法,想要往后端发送数据,页面注入API,await的意思是同步等待服务器数据,并返回,axios注入在其他页面,其他页面调用的时候,同步作用
前后端数据交互.js文件的axios的写法,想要往后端发送数据,页面注入API,await的意思是同步等待服务器数据,并返回,axios注入在其他页面,其他页面调用的时候,同步作用
|
5月前
|
前端开发 JavaScript
如何处理 JavaScript 中的异步操作和 Promise?
如何处理 JavaScript 中的异步操作和 Promise?
55 1
|
5月前
|
前端开发 JavaScript
在JavaScript中,什么是promise、怎么使用promise、怎么手写promise
在JavaScript中,什么是promise、怎么使用promise、怎么手写promise
79 4
|
5月前
|
前端开发 JavaScript 开发者
JavaScript 中的异步编程:Promise 和 Async/Await
在现代的 JavaScript 开发中,异步编程是至关重要的。本文将介绍 JavaScript 中的异步编程概念,重点讨论 Promise 和 Async/Await 这两种常见的处理异步操作的方法。通过本文的阐述,读者将能够更好地理解和应用这些技术,提高自己在 JavaScript 开发中处理异步任务的能力。