异步,json,Promise

文章讨论了JavaScript中参数传递的问题,当缺少参数时可能导致错误。提到了JSON作为数据交换格式的特性,如防火墙穿透和传输效率。此外,深入探讨了Promise对象在异步编程中的作用,包括其不可逆的状态、回调函数的设置以及执行顺序,特别是宏任务和微任务的概念。
摘要由CSDN通过智能技术生成

在这里插入图片描述

在这里插入图片描述
这个位置我们的参数应该有两个,但是我们只传入了一个参数进去则第二个函数会被认为是undefined,那么我们

在这里插入图片描述
这里就会被当成false!!!

失败处理:

try catch结构:在无法控制异常的时候(不知道网络什么时候崩溃)
在这里插入图片描述


json

json是js的对象表示法,使用键值对的方式,json纯文本的数据,所以防火墙不会限制,会绕过防火墙,所以会提高传输效率!

应用场景:

1.前后端数据交换和存储
2.配置文件
3.日志文件
4.数据接口和数据传输
5.数据库存储格式

{
    "name":"ton",
    "age":14
}

注意

1.字符串和键都必须使用双引号

2.数值和bool不能使用引号

3.支持对象:对象,数组,空,字符串等等

应用:

1.JSON.stringify将对象转化为字符串

2.JSON.parse将字符串转化为对象


Promise

promise是一种异步编程的解决方案

promise对象特点:

状态不受其他操作影响,一旦状态改变就不会再改变

缺点:

1.无法取消,一旦创建立即执行

2.必须设置回调函数,如果没有回调函数promise内部抛出问题,不会反应到外面

3.无法得知处于哪个状态,比如说,一个任务不知道处于刚开始和结束,只能保证最后会给我们一个结果

promise有两个参数,第一个是成功回调函数,第二个是失败回调函数,then后面第一个函数就是成功回调函数,then后面第二个函数就是失败回调函数

在这里插入图片描述

执行顺序:

在这里插入图片描述
setTimeout属于宏任务,我们要先清空微任务队列再去执行宏任务!!!

我们遇到了reslove并不会马上去执行then,而是将then后面的打到微任务里面,要将所有的同步任务执行完再去执行微任务!!!!

在这里插入图片描述

resolve是成功的时候用,将未完成状态变成成功,reject的作用时将对象状态从未完成变成失败

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值