【Java】实现JS setTimeout方法
javascript目前已经是一门相当主流的编程语言了,它的异步IO特定项目其他编程语言来说,大大减少了cpu在线程切换方面的速度。实现了单线程高并发的奇迹。而java作为老牌编程语言,在很多的项目中必须使用。 会这两种语言的一定会感叹,javascript中的setTimeout是多么好用,java中通常的作法是开一个新的线程,然后在线程中使用T…
【Java】读取文件内容InputStream
/** * 读取文件内容 * @return String * @author xinhui.chen * @updateTime 2022/9/28 */ private String readFromInputStream(InputStream inputStream) throws IOException { StringBuilder r…
【JavaScript】手写深拷贝
要点: 递归 判断类型 检查环 不拷贝原型上的属性 const deepClone = (a, cache) => { if(!cache){ cache = new Map() // 缓存不能全局,最好临时创建并递归传递 } if(a instanceof Object) { // 不考虑跨 iframe if(cache.get(a)) …
【JavaScript】手写 Promise.all
要点: 知道要在 Promise 上写而不是在原型上写 知道 all 的参数(Promise 数组)和返回值(新 Promise 对象) 知道用数组来记录结果 知道只要有一个 reject 就整体 reject Promise.prototype.myAll Promise.myAll = function(list){ const results…
【JavaScript】手写AJAX
//什么是Ajax? async JavaScript and XML(JSON) let xhr = new XMLHttpRequest(); xhr.open('GET','/requestHttpDemo'); // xhr.onload = () => { // console.log(�…