我有以下用于下载csv文件的代码:
function download_csv(symbol) {
var req_url = url + '&s=' + symbol
var filename = '/prices/' + symbol + '.csv'
return request.getAsync(req_url)
.then(function(resp) {
fs.writeFileAsync(filename, resp)
})
}
Promise.map(symbols, download_csv, {concurrency: 128})
.error(function(e) {console.error('error ocurred: ', e.message)})
.done(function() {console.log('done')})
当我打开csv文件时,第一行右移1列:
[object Object] Date Open High Low Close Volume Adj Close
第一列应该是Date,而不是[object Object]。我的代码中有什么错误?
答案 0 :(得分:1)
该值是[response, body]
的数组,您可以.spread
:
function download_csv(symbol) {
var req_url = url + '&s=' + symbol
var filename = '/prices/' + symbol + '.csv'
return request.getAsync(req_url).spread(function(response, body) {
// Also add return statement here, very important
return fs.writeFileAsync(filename, body)
})
}
这是因为回调签名是:
callback(err, response, body)