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]); } }