@orhankutluが提案した解決策はうまくいくはずです。
私は約束を使用して別のソリューションを提供します。あなたのプログラミングのスタイルに応じて、これらの2つのソリューションの中から1つを選択できます。約束を使用して
ソリューション:私はコールバックを使用し、約束を使用して、すなわち、両方のアプローチを試してみることをお勧めします
getEvents().then(function(result){
console.log(result); //should print 'x'
}).catch(function(err){
// Handle error here in case the promise is rejected
});
:
function getEvents() {
return new Promise(function(resolve, reject){
dbCollection['e'].find({}, function(error, results) {
if (error) return reject(error);
var x = [];
results.forEach(function(y){
x.push(y);
});
// forEach() is a blocking call,
// so the promise will be resolved only
// after the forEach completes
return resolve(x);
});
});
};
はgetEvents()を呼び出します。あなたはそれが有用であることを願っています!
返すためのコールバック戦略と、マングース問題を解決するためのいくつかの約束管理を使用する必要があります。 – Iceman
@ JJ9あなたの質問に答えている場合は、それを開いていないために受け入れられたものとしてマークしてください – orhankutlu