![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JS
渐墨深
这个作者很懒,什么都没留下…
展开
-
【electron】静默升级与主动安装
结合electron-updater包与downloadItem类实现主要流程:1.通过electron-updater检查更新,返回升级2.判断是否执行静默升级(检查本地安装包的完整性)3.通过downloadItem执行下载,它可以实行暂停与恢复4.下载完成后通过execSync执行安装包,关闭应用electron-updater中逻辑不变,可参考:【electron】应用在线升级_渐墨深的博客-CSDN博客_electron 在线更新主流程新增download代码原创 2022-04-12 11:33:30 · 4402 阅读 · 4 评论 -
慎用 空值合并运算符 ?? 于 || 完全不能替代
当代码是available || ok时候,webstrom可能就会弹出这个提示,是不是毫不犹豫点了 exlint fix...然后就突然发现结果不对了??看下官方定义:当左侧的操作数为null或者undefined时,返回其右侧操作数,否则返回左侧操作数。只能做判空使用,千万不要当||操作符使用。这个时候,可以把左侧判断写全,譬如,!!available || ok, 或者available===true|| ok就不会提示eslint的错误了。...原创 2021-04-09 16:30:12 · 254 阅读 · 1 评论 -
前端常用功能的实现方法 - 持续更新
// 年龄计算 private getAge(birthday: number) { const time = new Date(); const bir = new Date(birthday); return ( time.getFullYear() - bir.getFullYear() - (time.getMonth()...原创 2021-02-01 19:04:12 · 624 阅读 · 1 评论 -
【JS】使用setMonth()时遇到的坑
在业务需求中,需要时间一个连续翻页控件,获取每个月的开始时间和结束时间。最开始的时候,使用 new Date()获取当前的月份为month,然后使用setMonth(month + 1),为下一个月的当前时间,setMonth(month -1),然后基本使用是没有问题的,但是在今天10月31的时候惊奇的发现,11月居然没有了?原来setMonth(month + 1)并不是单纯的取到下...原创 2019-10-31 18:11:13 · 2262 阅读 · 0 评论 -
【JS】js中同步异步,Promise,Async/await, Observable
同步与异步由于js是用来控制DOM的,所以js必须是单线程的,因为如果多个线程同时控制DOM操作,那么页面必然就乱套了。为了避免复杂性,所以它是单线程的。为了利用多核CPU的计算能力,HTML5提出Web Worker标准,允许JavaScript脚本创建多个线程,但是子线程完全受主线程控制,且不得操作DOM。虽然js单线程的,但是浏览器内部不是单线程的,以此js才实现了异步。一些I/...原创 2019-07-16 22:42:08 · 2952 阅读 · 0 评论