Наиболее вероятная причина вашей проблемы - ключевое слово var
. Определите keyQuery
с ключевым словом let
, чтобы оно было ограничено блоком.
for (let keyQuery of Object.keys(query)) {
// code
}
Если вы не объявите переменную keyQuery
перед ее использованием, она будет объявлена глобально с ключевым словом var
.
const testCollection = {
find() {
return new Promise((resolve, reject) => {
setTimeout(() => resolve(2), 2000);
});
}
}
const query = {
A: { code: { '$in': ['A'] }},
B: { code: { '$in': ['B'] }}
}
for (let keyQuery of Object.keys(query)) {
console.log("outside",keyQuery );
testCollection
.find()
.then(data => {
console.log("inside",keyQuery);
});
}