ajax day02 and ajax day03

本文介绍了AJAX中的文件上传步骤,包括使用formData处理文件和发送AJAX请求。接着讨论了Promise的作用和解决回调地狱的问题,详细阐述了Promise的状态变化和链式调用。同时提到了async函数和await关键字,以及axios与Promise的关系。最后,文章涉及了error处理的try-catch结构和递归计算1-100的累加和。
摘要由CSDN通过智能技术生成

ajax day02

文件预览与文件上传:

文件上传:给file表单注册一个change事件

1.获取文件数据 this.files[0]

2.使用formdata处理文件

(1)const fd = new FormData()

(2)使用formdata处理文件

const fd = new FormData()

fd.append('参数名',参数值)

a.修改请求头为文件格式

b.把file对象转成二进制

3.发送ajax请求,参数就是fd

4.服务器响应图片网址,赋值给img标签src属性

扩展/回顾:

1、java中list集合中contains()的用法为:

public boolean list.contains(Object )

意思为:当前列表若包含某元素,返回结果为true, 若不包含该元素,返回结果为false。

ajax day03

promise作用:

解决回调地狱

回调地狱:

异步函数,层层嵌套

promise语法:

1.创建promise实例对象

2.调用promise实例的then方法

异步:定时器 点击事件

promise原理:

1.promise对象的三个状态:

a.pending(进行中)

b.fulfilled(已成功)

c.rejected(已失败)

2.promise对象的状态改变,只有两种可能:

a.resolve():pending变成fulfilled

b.执行 reject():从pending变成rejected

3.promise在创建实例的时候,里面的代码会立即执行,promise自己是同步的,只有then方法才是异步的

链式:一级一级往下找

链式调用:再上一个then里面,返回下一个promise实例,就可以继续在后面then

promise其他方法:

promise.all():将多个promise合并成一个,等待所有promise全部执行完毕才会执行then

相当于逻辑与: 全真为真,一假则假

promise.race():将多个promise合并成一个,任意一个promise执行完毕就执行then

相当于逻辑或:一真则真,全假为假

async异步函数语法:

  • async 函数(){
  • const res = await promise对象
  • }

async关键字作用:

修饰函数,让函数内部可以使用await关键字

await关键字作用:

取代then方法 并 获取then的结果

注意点:await只能用于被async修饰的函数,否则程序会报错

以前使用axios:

axios底层原理:promise+XMLHttpRquest

1.axios方法本质是返回一个promise对象

2.promise内部是原生XHR发送Ajax请求

3.请求成功用resolve返回给promise对象结果给外面then

async必须在函数前面,await必须在函数内部使用,替代then,和then的结果

面试题try-catch:

1.error()对象:内置对象,错误信息

2.throw关键字:抛出异常,可以让控制台变红.throw错误信息

3.try-catch语法:捕捉错误

  • try{
  • 代码块:能执行就正常执行,遇到错误就会执行catch
  • }catch(error){
  • 如果try的代码遇到错误,或者遇到错误就会执行catch
  • }finally{
  • 无论代码执行成功还是失败,最终都会执行
  • }

4.try-catch应用场景:

结束forEach循环(面试题)

捕捉await的错误信息

补充:递归1-100累加和代码

  • const fn  =  n=>n===1?n:n+fn(n-1)
  • fn(100)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值