【问题标题】:how to export inside a function in ES6如何在 ES6 中的函数内部导出
【发布时间】:2020-06-30 02:04:11
【问题描述】:

我想(有点不得不)在一个函数中导​​出,我正在使用 nodejs 并且更喜欢使用 ES6。 我想连接到 mongodb,然后导出数据库,并在其他地方使用它。所以我必须在回调函数中导出数据库。这是我的代码:

mongodb.connect(connectionString, { useNewUrlParser: true, useUnifiedTopology: true }, (err, client)=>{
    export default client.db();
    app.listen(port);
 });

但是当我尝试它时,我得到了这个错误:

SyntaxError: Unexpected token 'export'

那么我怎样才能正确地导出我的数据库呢?

【问题讨论】:

  • 你在用猫鼬吗?
  • @Ifaruki 不,我不是

标签: javascript node.js ecmascript-6 callback export


【解决方案1】:

似乎我们不能在 ES6 中进行动态导出。 导出异步函数(如我们用于连接数据库的函数)结果的最佳方法是使用“promises”。

export default new Promise((resolve, reject) => {
    mongodb.connect(uri, { useUnifiedTopology: true, useNewUrlParser: true }, (err, client) => {
        if (err)
            reject(err);
        resolve(client.db());
        app.listen(port);
    });
});

然后我们可以将它导入到消费者文件中,并使用如下:

import dbPromise from './db.js'
function someFunction() {
   dbPromise.then((result) => {
      //if we want to insert some data to database
      result.collection('collectionName').insertOne(data);
   });
}

【讨论】:

    猜你喜欢
    • 2016-04-07
    • 2018-05-03
    • 2020-06-30
    • 1970-01-01
    • 2020-05-11
    • 2018-11-26
    • 2016-09-17
    • 2017-02-23
    • 1970-01-01
    相关资源
    最近更新 更多