异步与并发
异步编程模式
手写实现 async/await 语法糖,理解异步编程的本质
从零实现一个支持Promise的Ajax函数,掌握XMLHttpRequest的用法
实现一个异步任务调度器,控制同时执行的异步任务数量,常用于接口请求限流、资源加载控制等场景
实现一个支持 Promise 链式调用的 sleep 函数
jQuery 异步编程方案 Deferred 的用法
实现异步任务的串行执行和并行执行,掌握 Promise 控制流程的技巧
手写实现观察者模式,支持订阅、取消订阅和通知功能
手写实现JSONP跨域请求方法,支持动态创建script标签、回调函数处理和超时控制
手写 Promise.all 方法
手写实现 Promise.all 方法,接收一个 Promise 数组并返回一个新的 Promise,当所有 Promise 都成功时返回结果数组,任一失败则立即返回失败原因。
手写 Promise.allSettled 方法
手写实现 Promise.allSettled 方法,等待所有 Promise 完成(无论成功或失败)并返回结果数组
手写 Promise.any 方法
从零开始手写一个完全符合Promises/A+规范的Promise实现,理解Promise的原理和异步编程机制
手写 Promise.finally 方法
从零开始手写一个符合 Promise/A+ 规范的 Promise 实现,理解 Promise 的原理和异步处理机制
手写实现 Promise 的 finally 方法,无论 Promise 成功或失败都会执行回调
使用 Promise 封装图片加载,处理成功和失败状态
手写实现Promise方法,包括Promise构造函数、then、catch、finally以及静态方法resolve、reject、all、race、allSettled等
手写 Promise.race 方法
手写实现 Promise.race 方法,返回最先完成的 Promise 结果
手写实现 Promise.reject 静态方法,返回一个被拒绝的 Promise 对象
手写实现Promise.resolve静态方法,理解Promise值的包装和转换机制
实现一个 Promise 调度器,控制并发执行的 Promise 数量,当有任务完成时自动补充新任务
手写实现一个符合Promise/A+规范的简版Promise,理解异步编程的原理
将传统的回调函数风格的异步函数转换为返回Promise的函数
手写实现一个完整的发布订阅模式(EventEmitter),支持事件的订阅、发布、取消订阅等功能
用 setTimeout 递归实现 setInterval 的功能
手写实现单例模式,确保一个类只有一个实例,并提供全局访问点
使用 Promise 和 async/await 实现红绿灯循环切换