axios和promise

本文详细介绍了URL查询参数的作用,展示了如何使用axios进行HTTP请求配置,涵盖了GET、POST等请求方法。此外,文章还探讨了XMLHttpRequest与AJAX的关系,Promise的定义、状态和链式调用,以及async函数、await和事件循环在处理异步代码中的应用。
摘要由CSDN通过智能技术生成
URL查询参数

定义:浏览器提供给服务器的额外信息,让服务器返回浏览器想要的数据

axios-查询参数

语法:使用axios提供的params选项

注意:axios在运行时把参数名和值,会拼接到url?参数名=值

常用请求方法

请求方法:对服务器资源,要执行的操作

请求方法操作
GET获取数据
POST提交数据
PUT修改数据(全部)
DELETE删除数据
PATCH修改数据(部分)
axios请求配置

url:请求的URL网址

method:请求的方法,GET可以省略(不区分大小写)

data:提交数据

HTTP协议-请求报文

HTTP协议:规定了浏览器发送及服务器返回内容的格式

请求报文:浏览器按照HTTP协议要求的格式,发送给服务器的内容

响应报文:服务器按照HTTP协议要求的格式,返回给浏览器的内容

  1. 响应行:协议、HTTP响应状态码、状态信息

  2. 响应头:以键值对的格式携带的附加信息,比如:Content-Type

  3. 空行:分隔响应头,空行之后的是服务器返回的资源

  4. 响应体:返回的资源

请求报文的格式

请求报文的组成部分有:

  1. 请求行:请求方法,URL,协议

  2. 请求头:以键值对的格式携带的附加信息,比如Content-Type

  3. 空行:分隔请求头,空行之后的是发送给服务器的资源

  4. 请求体:发送的资源

HTTP响应状态码

HTTP响应状态码:用来表明请求是否成功完成

接口文档

接口文档:描述接口的文章

接口:使用AJAX和服务器通讯时,使用的URL,请求方法,以及参数

AJAX原理-XMLHttpRequest

定义:(XHR)对象用于与服务器交互。通过XMLHttpRequest可以在不刷新页面的情况下请求特定URL,获取数据。这允许网页在不影响用户操作的情况下,更新页面的局部内容。XMLHttpRequest在AJAX编程中被大量使用。

关系:axios内部采用XMLHttpRequest与服务器交互

好处:掌握使用XHR与服务器进行数据交互,了解axios内部原理

XMLHttpRequest-查询参数

定义:浏览器提供给服务器的额外信息,让服务器返回浏览器想要的数据

Promise

定义:Promise对象用于表示一个异步操作的最终完成(或失败)及其结果值。

好处:1.逻辑更清晰 2.了解axios函数内部运作机制 3.能解决回调函数地狱问题

Promise-三种状态

作用:了解Promise对象如何关联的处理函数,以及代码执行顺序

概念:一个Promise对象,必然处于以下几种状态之一

  1. 待定(pending):初始状态,既没有被兑现,也没有被拒绝

  2. 已兑现(fulfilled):意味着,操作成功完成

  3. 已拒绝(rejected):意味着,操作失败

注意:Promise对象一旦被兑现/拒绝就是已敲定了,状态无法再被改变

同步代码和异步代码

同步代码:逐步执行,需原地等待结果后,才继续向下执行

异步代码:调用后耗时,不阻塞代码继续执行,在将来完成后触发一个回调函数

Promise-链式调用

概念:依靠then()方法会返回一个新生成的Promise对象特性,继续串联下一环任务,直到结束

细节:then()回调函数中的返回值,会影响新生成的Promise对象最终状态和结果

好处:通过链式调用,解决回调函数嵌套问题

async函数和await

概念:在async函数内,使用await关键字取代then函数,等待获取Promise对象成功状态的结果值

事件循环(EventLoop)

概念:JavaScript有一个基于事件循环的并发模型,事件循环负责执行代码、收集和处理事件以及执行队列中的子任务。这个模型与其它语言中的模型截然不同,比如C和Java

原因:JavaScript单线程(某一刻只能执行一行代码),为了让耗时代码不阻塞其它代码运行,设计了事件循环模型

事件循环-执行过程

定义:执行代码和收集异步任务的模型,在调用栈空闲,反复调用任务队列里回调函数的执行机制,就叫事件循环

宏任务与微任务

异步任务分为:

  1. 宏任务:由浏览器环境执行的异步代码

  2. 微任务:由JS引擎环境执行的异步代码

任务(代码)执行所在环境
JS脚本执行事件(script)浏览器
setTimeout/setInterval浏览器
AJAX请求完成事件浏览器
用户交互事件等浏览器
Promise对象.then()JS引擎

promise本身是同步的。而then和catch回调函数是异步的

Promise.all静态方法

概念:合并多个Promise对象,等待所有同时成功完成(或某一个失败),做后续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值