02 2022 档案
摘要:本文的内容可以用于再次简化上一篇 promise 练习当中的代码,还是用一个需求来引出本文的知识点吧: 需求 无序加载图片, 每加载成功一张就添加一张 无序加载图片, 只有所有图片都加载成功才添加, 有一张图片失败都不添加 <!DOCTYPE html> <html lang="en"> <head
阅读全文
摘要:需求 一次加载一张图片添加到 body 中,前面图片加载失败后面图片不加载: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>promise练习</title> </head> <body> <script>
阅读全文
摘要:声明一点本文的内容主要是用于记录,博主在手写实现 promise 底层原理的一个代码记录使用,实现的代码如下,供参考: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>手撕Promise</title> </
阅读全文
摘要:catch 方法 catch 其实是 then(undefined, () => {}) 的语法糖: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Demo</title> <script> let pro
阅读全文
摘要:JS 中的异常 简单粗暴的理解就是有错误出现,由于 JS 是单线程的, 编写的代码都是 串行 的, 所以一旦前面代码出现错误, 程序就会被中断, 后续代码就不会被执行。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <t
阅读全文
摘要:then 方法 then 方法接收两个参数 第一个参数是状态切换为成功时的回调 第二个参数是状态切换为失败时的回调 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Demo</title> <script>
阅读全文
摘要:Promise 概述 Promise 是 ES6 中新增的一个对象,通过 Promise 就可以实现,用 同步 的流程来表示异步的操作,通过 Promise 就可以避免回调函数层层嵌套(回调地狱)的问题。 MDN:https://developer.mozilla.org/zh-CN/docs/We
阅读全文
摘要:Promise 概述 Promise 是 ES6 中新增的 异步编程 解决方案, 在代码中的表现是一个对象 假设我现在有这么一个需求, 从网络上加载 3 个资源, 要求加载完资源1, 才能加载资源2, 加载完资源2, 才能加载资源3,前面任何一个资源加载失败, 后续资源都不加载。 <!DOCTYPE
阅读全文
摘要:JS 是单线程的 所以 JS 中的代码都是 串行 的, 前面没有执行完毕后面不能执行, 但是我如下的代码运行的结果并不是想前面我所说的,前面没有执行完毕后面不能执行: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <ti
阅读全文
摘要:本文的内容大致就是将博主之前编写原生 Ajax 创建的过程进行了手动的封装,封装之后的内容文件名称为 myAjax.js: function ajax(url, success, error) { let xhr; if (window.XMLHttpRequest) { // 用于现代浏览器的代码
阅读全文
摘要:在上一篇Ajax-Get基本使用当中已经介绍了Ajax 的发送过程,但是在这个过程当中呢,有几个注意点博主还需要一一介绍完毕,第一点就是你可以通过打开官方文档当中就可以很轻易的发现问题点在哪,如下: 官方文档地址:https://www.w3school.com.cn/js/js_ajax_http
阅读全文
摘要:Ajax 概述 Ajax 是与服务器交换数据并更新部分网页的技术,在不重新加载整个页面的情况下。 使用 Ajax 步骤 创建一个异步对象 let xmlHttpObj = new XMLHttpRequest(); 设置请求方式和请求地址 xmlHttpObj.open("GET", "01.Aja
阅读全文
摘要:解决设备像素和 CSS 像素不一样的问题 如果设备像素和 CSS 像素一样, 那么无需处理不会带来任何负面影响。 如果设备像素是 CSS 像素的 2 倍, 那么我们只需将 CSS 像素缩小一半即可。 但是有时候设备像素可能是 CSS 像素的 3 倍 / 4 倍 ... 获取设备像素比DPR(Devi
阅读全文
摘要:设备像素和 CSS 像素 设备像素又称为 物理像素, 是 "物理屏幕" 上真实存在的发光点,只有屏幕一经出厂就固定不会改变。 CSS 像素又称为 逻辑像素,是编程世界中虚拟的东西, 我们通过代码设置的像素都是逻辑像素。 例如: iPhone3G / iPhone3GS 3.5英寸 / 逻辑像素 32
阅读全文
摘要:在前面的, 移动端常用适配方案二 有一个弊端那么就是如果有多少套适配窗口就需要编写多少个媒体查询,如果有几百个那么就编写几百个那么不是疯了嘛,那么本文主要介绍的就是更好的解决方案的方式,就是通过 JS 来进行设置, 通过 JS 动态计算当前屏幕每一份大小的好处, 不用写很多的媒体查询, 坏处:切换了
阅读全文
摘要:通过媒体查询 + rem 虽然我们将移动端独立到一套代码中了, 但是由于移动端也有很多的屏幕尺寸, 所以也需要进行适配,例如: iPhone3/4/5: 320px iPhone678: 375px iPhoneX/plus:414px 当下在企业开发中设计师提供给我们的移动端设计图片是 750*x
阅读全文
摘要:本文主要介绍的内容为通过 Node 操作 Redis-Cluster,如果想要通过 Node 来进行操作的话需要使用到一个 npm 的库,叫做 ioRedis 那么接下来就是废话不多说直接开整。 首先初始化一个 node 项目: npm init --y 安装 ioRedis: npm instal
阅读全文
摘要:在开始本文之前首先你得要将Redis-Cluster-搭建环境准备好,因为本文的内容是基于该环境进行演示和介绍的。 利用 Redis 官方提供的 Ruby 脚本安装 Redis cluster,配置并启动 6 台服务器,上面已经介绍过这里直接略过。 下载 Ruby 下载地址:https://ruby
阅读全文
摘要:种子文件概述 Sequelize-Cli 中的种子文件是专门用于编写测试数据的 我们知道在 Sequelize-Cli 中不同的阶段会创建不同的数据库 但是刚创建出来的数据库是没有数据的, 所以为了方便我们在不同的阶段演示和调试 我们可以在种子文件中提前编写测试数据, 以便于我们在不同的阶段中使用
阅读全文
摘要:如何修改表 使用 Sequelize-Cli 管理数据库的目的就是为了监控数据库的变化 所以我们不能直接修改表的结构, 如果要修改, 必须通过 migration 文件修改 这样我们就能记录修改的每一步操作, 就能追踪修改的整个过程, 就能回退到指定版本 修改表步骤 通过 migration:gen
阅读全文