javascript - 使用映射并将对象传递给后续函数调用

标签 javascript node.js promise bluebird

我有一些像这样的代码:

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 返回具有源和目标属性的对象数组。我使用 map 处理数组并调用 processItem。有没有办法将映射的对象传递给 downloadItem

最佳答案

我会一起去

.map(function (object) {
    return processItem(object).then(function(processResult) {
        return {input: object, result: processResult};
    });
})

现在 downloadItem 可以访问每个已处理项目的 .input.result

关于javascript - 使用映射并将对象传递给后续函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22442866/

相关文章:

javascript - 如何使我的 Node.js websocket socket.io 服务器对 DoS 更具弹性?

javascript - Node.js 和 Express - 将 JSON 对象从 SoundCloud API 发送到前端使其成为字符串

javascript - play() promise 未解决

javascript - 将 SnapshotChanges 与 CombineLatest 结合使用

javascript - 使用 fetch 将跨域 JSON 数据发布到 Express 后端

javascript - Node.js:删除整行的正则表达式

javascript - 这在 JavaScript promise 中可能吗?

javascript - 为什么这个带有简单异步回调的测试用例(Jest)会失败?

javascript - 利用 Mongo 的 ES6 默认参数

javascript - 有没有办法在解决 promise 之前填充 JSON 对象