使用映射并将对象传递给后续的函数调用
我有这样的代码:
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和destination属性的对象数组。 我用map
来处理数组并调用processItem
。 有没有办法将映射的对象传递给downloadItem
?
我会一起去的
.map(function (object) { return processItem(object).then(function(processResult) { return {input: object, result: processResult}; }); })
现在downloadItem
可以访问每个处理项目的.input
和.input
。
- 在Promises和函数之间传递variables
- testing使用SinonJs和Mocha来限制包含Promise Code Block的Route Handler
- 将asynchronous工作stream更改为Promise(Bluebird)
- 链接asynchronousfunction?
- Express.js – foreach数据数组并将其存储在数据库中
- 承诺 – 在Promise中捕获所有的拒绝。所有
- NodeJS与promise.catch和console.log的错误?
- Q承诺相当于BlueBird Promise.Bind()
- Q.js承诺与节点。 缺less`socket`上的error handling程序。 TypeError:不能调用未定义的方法