Node.js:如何将向量传递给函数?
Posted
技术标签:
【中文标题】Node.js:如何将向量传递给函数?【英文标题】:Node.js: How Do I Pass A Vector To A Function? 【发布时间】:2011-04-15 08:30:22 【问题描述】:这是我的问题。鉴于我将数据保存在数组中:
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);
效果很好。但是,我不知道如何在函数中获取 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'
为了让它工作,我需要访问 msgs[9991].body 例如。
【问题讨论】:
【参考方案1】:如果你用正确的msg.id
调用cb(undefined, msgCache, msg.id);
(不清楚你在哪里定义它),那么你可以像这样声明你的cb
函数
function cb(dunnowhat, msgs, id) ...
或者我不明白。
如果您还没有msg.id
,那么for .. in
可能会有所帮助
function cb(dunnowhat, msgs)
for (id in msgs)
console.log(msgs[id]);
【讨论】:
那行不通。我传递了很多信息,而不仅仅是一个。如果有 2 条消息,我已经用“msgs”的结果编辑了问题。 我在调用 cb() 时没有“msg.id”。我已经更新了代码。以上是关于Node.js:如何将向量传递给函数?的主要内容,如果未能解决你的问题,请参考以下文章