Я столкнулся с очень специфической ошибкой.
У меня есть база данных со следующими записями:
{
"_id": {
"$oid": "xxxxxxxxxxxxxxxxx"
},
"name": "Name1",
"number": 42
}
{
"_id": {
"$oid": "xxxxxxxxxxxxxxxxx"
},
"name": "Name2",
"number": 123
}
В моем коде JavaScript у меня есть следующий код:
MyRecords.find({}, function(err, results) {
if (err) {
console.log("Error finding phone recipients:", err);
} else if (results.length == 0) {
console.log("No users");
} else {
for (var i = 0; i < results.length; i++) {
var result = results[i];
someFunction2("", result);
someFunction1(function(message) {
someFunction2(message, result);
});
result.number = "Some new value"
result.save(function(err) {
if (err) {
console.log("Error updating last sent for", result.name);
} else {
console.log("Updated last sent time for user:", result.name);
}
});
}
}
}
Предположим, что someFunction1
иsomeFunction2
делает несколько вызовов API и ждет результатов в течение нескольких миллисекунд.
Когда я запускаю это, консоль выводит:
Updated last sent time for user: Name2
Имя пользователя1не обрабатывается.Что здесь происходит?