异步在迭代中没有整个对象

async does not have whole object in iteration

我使用 async.eachSeries 遍历数组。该数组如下所示:

{ filename: '20171-132.pdf',
  content: [base64 encoded file]
}

通过循环我遍历项目以获取内容。

async.eachSeries(attach, function(item, callback){
    console.log("ITEM", item);
    var attachment = {
        filename: item.filename,
        content: item.content.split("base64")[1],
        encoding: 'base64'
    }

    attachments.push(attachment);
    callback();
}, function(){
    console.log("done");
})

但是,在 'item' 的日志中,我只有文件名,结果,代码在 item.content.split 处停止,因为它未定义。 有人知道这里发生了什么吗?我该如何解决?

您正在处理对象,而不是数组。

{ 
   filename: '20171-132.pdf',
   content: [base64 encoded file]
}

方括号是数组的JSON表示。 所以如果 item 看起来像这样;

[
    { 
       filename: '20171-132.pdf',
       content: [base64 encoded file]
    }
]

那么我猜它会解决你的问题。