我有一些像这样的代码:
var downloadFiles = function () {
console.log('downloading files');
aFtpClient.
listAsync().
then(processListing).
map(function (object) {
return processItem(object);
}).
then(downloadItem).
catch (TypeError, function (e) {
console.dir('arse' + e);
}).
catch (Promise.RejectionError, function (e) {
console.error("unable to read file, because: ", e.message);
});
console.log('after downloading files');
};
processListing
返回一个包含source&的对象数组。目的地属性。我使用map
来处理数组并调用processItem
。有没有办法将映射的对象传递给downloadItem
?
答案 0 :(得分:2)
我会去
.map(function (object) {
return processItem(object).then(function(processResult) {
return {input: object, result: processResult};
});
})
现在downloadItem
可以访问每个已处理项目的.input
和.result
。