you_are_enot
@you_are_enot
Пограммист любитель

Как реализовать экспорт модуля после выполнения асинхронной функции?

Я использую библиотеку для работы с гугл-табицами google-spreadsheet и хочу экспортировать некоторые функции в другой модуль. Проблема в том, что перед использованием функций необходимо выполнить авторизацию.

const GoogleSpreadsheet = require('google-spreadsheet');
const { promisify } = require('util');
const doc = new GoogleSpreadsheet(options.spreadSheetId);

// Авторизация
await promisify(doc.useServiceAccountAuth)(creds);
const info = await promisify(doc.getInfo)();

// Функции которые нужно экспортировать
let sheet = info.worksheets[0];
await promisify(sheet.addRow)(user_data);
  • Вопрос задан
  • 284 просмотра
Решения вопроса 1
@FabiBoom
Промис экспортировать можно

module.exports = async function() {
      const exportFunctions = {};
       //  код

      // добавляем функции нужные
      exportFunctions.sheet = sheet;
       
      return exportFunctions;
   };

  // другой файл

  const mod = require('./test.js').then(funcs => console.log(funcs)); // наши функции
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы