У меня есть система из двух частей.Цель системы - сравнить поступающие данные с существующими данными ящика, а затем загрузить zip-файл из ящика.
Часть 1 - У меня есть асинхронная функция, которая вызывает ящик sdk и получает данные файла.Затем он сравнивает имя с уже существующим форматом и возвращает объект.
Часть 2 - Использует ключ / значение, полученные из части 1, для создания потока чтения с существующей папкой на коробке.
У меня проблема в том, что часть 2 никогда не запускается.Я смотрю на слушателей событий или пытаюсь передать прочитанные данные потоку записи, и ничего не происходит.
Мне кажется, что моя проблема здесь в том, что я неправильно выполняю свои асинхронные функции.
Некоторые вещи, которые я знаю, работают: я знаю, что BoxClient работает правильно.Я могу связаться с Box SDK и получить метаданные.Я также могу загружать почтовые файлы в коробку.Загрузка происходит в отдельной функции, не включенной в эту проблему.
Я попытался альтернативно получить URL-адрес загрузки, а затем использовать асинхронный запрос для извлечения данных.Я никогда не получаю данные для загрузки из запроса.То же самое, что когда я пытаюсь использовать поток чтения из коробки sdk.
Как обсуждалось выше, это часть 1.
async function fileLookUp(id, userName, orderNumber, planId) {
const boxClient = auth();
const fileIdObj = {
fileID: id,
};
const expectedName = `plan.${userName}.${orderNumber}.${planId}.zip`;
// Get all box info on given file
const foundFile = await boxClient.files.get(fileIdObj.fileID);
const fileName = foundFile.name;
if (fileName !== expectedName) throw Error(messages.fileSearch);
fileIdObj.fileName = fileName;
return fileIdObj;
}
часть 2
async function downloadZip(obj) {
const boxClient = auth();
await boxClient.files.getReadStream(obj.fileID, null, (err, stream) => {
if (err) throw Error(err);
stream.on('data', data => console.log(data));
});
}
Iя вызываю функции в jest.
test('should successfully be called', async () => {
// 'private/plans/'
const temp = await fileLookUp('329362776631', 'testsurgeon2', '12-15-09-0004', 'plan1');
await downloadZip(temp);
}, 30000);
Я ожидаю, что я должен получить данные из потока чтения.