Node.js:如何将一个向量传递给一个函数?

这是我的问题。 鉴于我在一个数组中保存数据:

fetch.on('message', function(msg) { msg.data = ''; msg.on('data', function(chunk) { msg.data += chunk; }); msg.on('end', function() { msgCache[msg.id].body = msg.data; }); }); fetch.on('end', function() { console.log('Done fetching bodies!'); cb(undefined, msgCache); }); 

和:

 fetch.on('end', function() { console.log('Done fetching bodies!'); cb(undefined, msgCache, msg.id); }); 

它将“msgCache”数组发送到cb()。

 function(msgs) { console.log(msgs); } 

哪个工作正常。 但是,我不知道如何获得函数中的消息[msg.id],而且没有那么无用的传递数组。

有没有一种方法可以访问最后一个函数中的msgs [msg.id]?

谢谢

console.log(msgs)的输出:

 { '9991': { headers: { date: [Object], to: [Object], from: [Object], subject: [Object] }, body: 'test' }, '9993': { headers: { date: [Object], to: [Object], from: [Object], subject: [Object] }, body: 'teste2' } } 

为了这个工作,我需要访问信息[9991]。身体例如。

如果你调用cb(undefined, msgCache, msg.id); 与右msg.id (在不清楚你在哪里定义),那么你可以声明你的cb函数是这样的

function cb(dunnowhat, msgs, id) {...}

或者我不明白。

如果你有没有msg.id那么也许for .. in帮助

 function cb(dunnowhat, msgs) { for (id in msgs) { console.log(msgs[id]); } } 
Interesting Posts