截止2018-12-26,最先版本的小程序依旧不支持ES7的语法Async/Await

为了让小程序支持Async/Await,这里要用到一个库regenerator

我们最终要引用到的文件就是regenerator-runtime.js

在utils中import

import regeneratorRuntime from './regenerator-runtime/runtime-module'

正常使用Async/Await即可!

(没有抓住圣诞节的尾巴,就依旧只能提前祝自己狗狗快乐一声了)

  • 全局安装eslint
  • 安装ESlintAuthFix

cmd + shift + p => install pack => ESlintAuthFix

  • 查看eslint的位置
    which eslint

  • 配置环境变量

    xport PATH=path::$PATH

  • 设置ESlintAuthFix

package setting => ESlintAuthFix => settingDefault


{
  "eslint_path": "path",
  "show_panel": true
}
  • 设置快捷键

{ "keys": ["ctrl+shift+h"], "command": "eslint_auto_fix" }

git commit 中 Emoji意义

Emoji 意义
? 解决BUG
? 改进代码的结构/格式
? 部署东西
? 删除代码或文件
? 更改配置文件
✏️ 修正错别字
? 更新UI和样式文件
? 初始提交
? 解决iOS上的某些问题
? 修复macOS上的某些内容
介绍新功能
? 添加日志
? 删除日志
? 更新编译的文件或包
? 致力于响应式设计
? 由于外部API更改而更新代码
? 修复Android上的某些内容
? 在Linux上修复某些内容
? 添加或更新.gitignore文件
? 添加或更新快照
? 改善用户体验/可用性
提高可访问性
⬆️ 升级依赖关系
⬇️ 降级依赖关系
? 解决安全问题
添加测试
? 关键修补程序
? 记录源代码
? 添加分析或跟踪代码
重构代码
? 将依赖关系固定到特定版本
? 在Windows上修复某些内容
? 合并分支
恢复更改
? 编写需要改进的错误代码
? 关于Docker的工作
? 添加CI构建系统
? 国际化和本地化
? 移动或重命名文件
删除依赖项
添加依赖关系

chattr命令

chattr命令:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了。chattr命令的作用很大,通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chattr命令设置的文件属性。

语法 chattr [-RV] [-+=AacDdijsSu] [-v version] 文件或目录


#参数  描述
-R  #递归处理所有的文件及子目录。
-V  #详细显示修改内容,并打印输出。
–   #失效属性。
+   #激活属性。
=   #指定属性。
A   #Atime,告诉系统不要修改对这个文件的最后访问时间。
S   #Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。
a   #Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
i   #Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。
D   #检查压缩文件中的错误。
d   #No dump,在进行文件系统备份时,dump程序将忽略这个文件。
C   #Compress,系统以透明的方式压缩这个文件。从这个文件读取时,返回的是解压之后的数据;而向这个文件中写入数据时,数据首先被压缩之后才写入磁盘。
s   #Secure Delete,让系统在删除这个文件时,使用0填充文件所在的区域。
u   #Undelete,当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件。

#例子

# 用chattr命令防止系统中某个关键文件被修改:
chattr +i /etc/resolv.conf

# 用lsattr查询文件属性:
lsattr /etc/resolv.conf
----i-------- /etc/resolv.conf #显示如上

# 让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:
chattr +a /var/log/messages

Promise笔记

执行流程

执行流程

// Promise的设计

new Promise(
    /* 执行器 executor */
    function (resolve, reject) {
        // 一段耗时很长的异步操作
        resolve(); // 数据处理完成
        reject(); // 数据处理出错
    }
)
    .then(function A() {
        // 成功,下一步
    }, function B() {
        // 失败,做相应处理
    });

支持情况

支持情况

三个状态

  • pending[待定] 初始状态
  • fulfilled[实现] 操作成功
  • rejected[被否定] 操作失败

Promise 状态一经改变,不会再边
Promise 一经创建,执行器立即执行

- 阅读剩余部分 -