gpt4 book ai didi

javascript - 在 NodeJS 中获取数组值时出现问题

转载 作者:搜寻专家 更新时间:2023-11-01 00:15:33 25 4
gpt4 key购买 nike

我正在使用 NodeJS 来计算不同部门的员 worker 数。我将 Mongoose 用作 ODM,将 MongoDB 用作数据库。这就是我的代码(出于测试目的非常简单)。

   exports.list= function( req, res){
var array = ['sectionA', 'sectionB'];
var i;
for(i = 0; i<array.length; i++){
Issue.count({ 'section.name': array[i]}, function (err, count) {
console.log('Section name is: ' + array[i] + ' number of employees: ' + count );
)};
}
}

但是 array[i] 的值在 Issue.count({ 'section.name': array[i]}, function (err, count) {}) 中未定义;。但是count的值是绝对正确的。我想要这样的输出:

Section name is: sectionA number of employees: 50
Section name is: sectionB number of employees: 100

但我目前的输出是

 Section name is: undefined number of employees: 50
Section name is: undefined number of employees: 100

这是因为 Issue.count({ 'section.name': array[i]}, function (err, count) {}); 中 i 的值; 始终为 2。

最佳答案

Issue.count 函数有没有可能是异步的?所以你的循环在回调之前完成:

function (err, count) {
console.log('Section name is: ' + array[i] + ' number of employees: ' + count );
}

被执行。当执行回调时,结果 i 的值是未定义的。

关于javascript - 在 NodeJS 中获取数组值时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16104304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com