当前位置: 首页 > news >正文

async await

async await可以说是避免回调地狱的终极解决方案,也能解决Promise不能良好解决的分支问题,保持逻辑清晰,加上Webstorm支持的Google Closure Compiler注解,代码简直爽的不要不要的。贴一段:

/** @typedef {{username:string, password:string}} UserData */

/**
 * Create a new account. Doesn't check username and password.
 *
 * @param {UserData} opt
 * @return {Promise<?User>}
 */
static async createNewAccount(opt) {
    const options = {
        username: opt.username,
        password: opt.password
    };
    const collection = await mongodb.collection(COLLECTION);
    const doc = await collection.findOne({username: options.username});
    if (doc != null) {
        return null;
    }
    const userData = {
        username: options.username,
        password: UserDao._saltAndHash(options.password)
    };
    const user = new User(userData);
    const result = await collection.insertOne(user.toObject(), {safe: true});
    user.id = result.insertedId;
    return user;
}

在Node刚支持ES6的时候,一些维护很积极的库就把代码用Promise重写了,现在估计又要用async await重写了

转载于:https://www.cnblogs.com/nurdun/p/7512838.html

相关文章:

  • 《C#本质论》读书笔记(十)异常处理 @ Lennon
  • xml 转义特殊字符
  • openldap+php-ldap操作
  • 人生的二和三
  • Springmvc----注解和非注解开发
  • js 获取URL参数的值
  • 想要Freestyle?先要遵守 MySQL 这十大铁律!
  • 一位女程序员的征婚广告
  • 高通和诺基亚携手推动5G新空口大规模移动部署
  • 8月6日中国概念股涨跌互现 dj97跌6.56%
  • 关于 Cirru Editor 存储格式
  • SecureCRT 使用技巧
  • shell脚本进阶。
  • Chapter2:策略模式
  • dubbo之直连提供者
  • 【技术性】Search知识
  • 2017-08-04 前端日报
  • CSS 提示工具(Tooltip)
  • CSS实用技巧干货
  • EOS是什么
  • HTTP那些事
  • Mocha测试初探
  • orm2 中文文档 3.1 模型属性
  • Promise初体验
  • Spring-boot 启动时碰到的错误
  • SQL 难点解决:记录的引用
  • 半理解系列--Promise的进化史
  • 代理模式
  • 检测对象或数组
  • 力扣(LeetCode)965
  • 一份游戏开发学习路线
  • 在electron中实现跨域请求,无需更改服务器端设置
  • ​2021半年盘点,不想你错过的重磅新书
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • (0)Nginx 功能特性
  • (4)Elastix图像配准:3D图像
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .chm格式文件如何阅读
  • .libPaths()设置包加载目录
  • .NET 8.0 发布到 IIS
  • .NET delegate 委托 、 Event 事件
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .net wcf memory gates checking failed
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET 中创建支持集合初始化器的类型
  • .NET4.0并行计算技术基础(1)
  • .net下的富文本编辑器FCKeditor的配置方法
  • [acwing周赛复盘] 第 94 场周赛20230311
  • [AIGC] 开源流程引擎哪个好,如何选型?
  • [Angularjs]asp.net mvc+angularjs+web api单页应用
  • [Contest20180313]灵大会议