Я пытаюсь использовать библиотеку Discord. js в Express RESTful API. Мне интересно, как я должен разделять клиента между контроллерами, потому что клиент инициализируется асинхронно и, очевидно, плохая практика - вызывать client.login(...)
несколько раз. Другими словами, у меня есть метод асинхронной инициализации, который я не могу вызвать несколько раз, и мне нужно получить доступ к этому клиенту через несколько контроллеров. Вот что я сейчас делаю:
discord.helper.js
const Discord = require('discord.js');
const client = new Discord.Client();
client.login(process.env.DISCORD_BOT_TOKEN);
export default client;
Моя проблема в том, что client.login()
асинхронный, но может только Если один раз вызвать , я не могу импортировать этот файл, если предположить, что бот уже инициализирован. Любые идеи о том, как я должен структурировать этот модуль так, чтобы я мог импортировать его несколько раз с предположением, что он уже был инициализирован?