# 前端一些奇怪的写法(我连术语都不知道就很尴尬)

一个个举例子吧,很惭愧,见过,学过,却不知道用法,没理解透

...(args || {})

[err, user] = await to(UserModel.findById(1));

 r[t.name] = wxPromisify(wx[t.name]);

1、...(args || {})
解构args 防止args不为真(不是一个对象)报错所以||一个空对象
2、[err, user] = await to(UserModel.findById(1));
await等待 to方法返回到值分别赋值给 err, user,如果是字符串 每一位赋值给对应的一个变量(需要看方法中返回的是什么)
3、 r[t.name] = wxPromisify(wx[t.name]);
[t.name] 表示使用t.name对应的值,wxPromisify(wx[t.name])返回的值 赋值给r[t.name]
[]的用法解释:
r.s 就表示 r对象里的s的值;
r[s]表示r里面s变量对应的值

第一个...解构
第三个 是对微信api的promise封装
第二个 不知道哈哈

第二个 awaitTo处理_Mamba_四哥的博客-CSDN博客 目标: 让await 可以接收失败的情况原理: then()和catch()里的return 都会返回给下一个then函数// 1. 基础理解: then和catch里return都会赋予给下个then, 而await可以拿到then的结果// let pA = new Promise((resolve, reject) => {// setTimeout(() => {// // resolve("假设ajax成功")// reject(. https://blog.csdn.net/weixin_49405038/article/details/116117853