在文档和一天的研究之后,我试图使用管道来组装由API调用返回的Excel电子表格。我已经保存它,但是文件已损坏:
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已创建,但文件已损坏。谢谢!
答案 0 :(得分:1)
官方<div class="container">
<div class="row">
<div class="col-sm-2">
<span class="badge badge-info badge-pill">2</span>
</div>
<div class="col-sm-10">
<p>short text to write.</p>
</div>
</div>
</div>
消除了对模板承诺构建器的需求。
它要么是承诺控制流,要么是流。使用promise可以立即获得完整的响应,因此不需要流。也可以一次编写:
request-promise