Как получить переменную из другого файла после ее определения - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь получить клиента mon go в другом файле. Проблема в том, что когда я пытаюсь получить переменную mongoClient, она возвращает неопределенное значение.

Как мне дождаться объявления переменной mongoClient, прежде чем пытаться ее получить?

Файл 1

let mongoClient;

module.exports = async function() {
    const mongooseOptions = {...};
    mongoClient = await mongoose.connect(dbUrl, mongooseOptions);
};

exports.getMongoClient = () => mongoClient;

Файл 2

const { getMongoClient } = require('../../startups/db');
console.log(getMongoClient); // Returns undefined

Ответы [ 2 ]

0 голосов
/ 17 января 2020

Вы должны использовать переменную global для доступа к любому файлу, как показано ниже.

Файл 1

global.mongoClient;

module.exports = async function() {
    const mongooseOptions = {...};
    global.mongoClient = await mongoose.connect(dbUrl, mongooseOptions);
};

Файл 2

console.log(global.getMongoClient);
0 голосов
/ 16 января 2020

Вы должны использовать этот лог c

Файл 1

const axios = require("axios");
async function getData() {
  return await axios.get("https://jsonplaceholder.typicode.com/todos");
}
module.exports = { getData };

Файл 2

const { getData } = require("./file1");
getData().then(data => console.log(data));
...