Я создаю простой скрипт для изучения функциональности Cosmos DB.Я хочу создать способ не предоставлять следующее в верхней части каждой асинхронной функции (да, я знаю, что могу связывать асинхронные вызовы, но это по-прежнему означает, что я должен использовать новый экземпляр БД в верхней части каждогоТаким образом, я хочу сделать что-то вроде этого:
const {database} = await client.databases.createIfNotExists({id: databaseId});
const {container} = await database.containers.createIfNotExists({id: containerId});
С учетом вышесказанного я несколько часов ломал голову над этим вопросом и не могу найти способ создать одну базу данных и один контейнер для всех моих функций, чтобыдоля.Идея (но не реализация, потому что она не работает) состоит в том, чтобы сделать что-то вроде этого:
getConnections = async () => {
const {database} = await client.databases.createIfNotExists({id: databaseId});
const {container} = await database.containers.createIfNotExists({id: containerId});
let connections = {};
connections.db = database;
connections.container = container;
return connections;
};
Но так как метод getCoonections является асинхронным (что должно быть потому, что методы, которые его будут использовать,тоже) функция не обязательно завершается до того, как первая вставка сделана в другой функции, что вызывает исключение.
Кто-нибудь нашел способ централизовать эти объекты, поэтому мне не нужно объявлять их в каждомасинхронная функция моего приложения?