После документов и ежедневных исследований я пытаюсь использовать конвейер для сборки электронной таблицы Excel, возвращаемой вызовом API. Я частично сохраняю его, но файл поврежден:
async function getWeeklyReport(queryString) {
return new Promise((resolve, reject) => {
request({
url: 'https://reports.myApi.com/ReportCenter/Bookings',
qs: queryString,
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Basic ' + new Buffer(process.env.apiEmail + ':' + process.env.apiPassword, 'utf8').toString('base64')
}
}, (error, response, body) => {
if (error) {
reject(error);
} else {
if (response.statusCode === 200) {
resolve(body);
} else if (response.statusCode === 409) {
setTimeout(() => {
resolve(getWeeklyReport(queryString));
}, response.headers['Retry-After'] * 1000);
} else {
reject(response);
}
}
}).pipe(fs.createWriteStream('test3.xlsm'));
});
}
Что я здесь не так делаю? test3 создан, но файл поврежден. Спасибо!