加载中…

加载中...

Nodejs如何写返回promise的module

转载 2017-08-21 09:50:37

问题:我有一个module,功能是插入一条记录到数据库中,如何写这个module让它返回promise, 从而可以在主程序中使用async/await来进行同步操作?

数据库(mongodb)本身的操作就是返回promise的,但是直接return却是行不通的。​

最后发现需要用Promise在外面包装一次才可以。​

正确写法如下:

var exports = module.exports = {};

exports.insertNew = (_username, _password, db) => {

  return new Promise( (resolve, reject) => {

    db.collection('user').insertOne(

        {

           "username": _username,

          "password": _password

        })

        .then( (r) => {

          resolve(r);

        });

    });

}


主程序:

var testData = require('data/testData.js');

...

async () => {

...

let r = await ​testData.addNew('test', 'test', db);

...​


阅读(0) 评论(0) 收藏(0) 转载(0) 举报
分享

评论

重要提示:警惕虚假中奖信息
0条评论展开
相关阅读
加载中,请稍后
瀛ょ嫭鍙ゆ
  • 博客等级:
  • 博客积分:0
  • 博客访问:65,264
  • 关注人气:0
  • 荣誉徽章:

相关博文

新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有