javascript
文章平均质量分 72
javascript
CCC1115
这个作者很懒,什么都没留下…
展开
-
Async Await 原理,和promise的区别
1. 当调用一个 async 函数时,会返回一个 Promise 对象 (关键)2. async 函数中可能会有 await 表达式,await表达式 会使 async 函数暂停执行,直到表达式中的Promise解析完成后继续执行 async 中 await 后面的代码并返回解决结果。3. 既然返回的是Promise对象,所以在最外层不能直接获取其返回值,那么肯定可以用原来的方式:then() 链来处理这个 Promise 对象原创 2024-08-16 12:19:16 · 247 阅读 · 0 评论 -
PromiseA+规范
5.1 promise状态变成 fulfilled 后,所有的 onFulfilled 回调都需要按照then的顺序执行, 也就是按照注册顺序执行(所以在实现的时候需要一个数组来存放多个onFulfilled的回调)catch 的回调里, 打印promise的时候, 整个回调还并没有执行完成(所以此时的状态是pending), 只有当整个回调完成了, 才会更改状态 ==> 第一次打印test时。所以待会实现代码的时候, 同学们注意一下resolvePromise函数具体的实现, 结合代码来看会好很多.原创 2024-08-16 00:32:19 · 968 阅读 · 0 评论 -
一步步实现一个Promise
先执行整体的同步代码, 然后查看任务队列中,按照先进先出的原则: 2. 定义三种状态类型3. 设置初始状态4. 实现 resolve 和 reject 方法5. 是不是发现咱们的promise少了入参, 咱们来加一下入参是一个函数, 函数接收resolve和reject两个参数.注意在初始化promise的时候, 就要执行这个函数, 并且有任何报错都要通过reject抛出去6. 接下来来实现一下关键的then方法1. then接收两个参数, onFulfilled 和 onR原创 2024-08-15 22:57:16 · 931 阅读 · 0 评论 -
【解决】Mac SourceTree更改密码后 pull、push提交失败
更改账号密码后,需要退出 SourceTree从Finder中进入路径~/Library/Preferences/ ,找到文件com.torusknot.SourceTreeNotMAS.plist,并删除该文件然后打开 SourceTree, 重新 pull、push。会要求输入密码,输入新密码即可。原创 2023-06-08 14:15:31 · 1349 阅读 · 0 评论 -
浏览器和HTTP流程图
(1)Expires该字段是http1.0时的规范,值是一个绝对时间的GMT格式的时间字符串,代表缓存的过期时间(2)Cache-Control:max-age该字段是http1.1的规范强缓存利用的是max-age的值来实现缓存资源的最大生命周期,单位是秒(1)Last-Modified资源最后的更新时间,随着服务器的response返回(2)If-Modified-Since通过比较两个时间来判断资源在两次请求期间是否有过修改,如果没有就命中协商请求。原创 2022-03-16 14:27:16 · 1162 阅读 · 1 评论