0
Я пытаюсь построить синхронный поиск мангуста. Я принял использование deasync. https://www.npmjs.com/package/deasyncMongoose synchronousFind
Это в настоящее время работает экономит, но он не работает для запросов
exports.synchronousFind = function (instanceModel, query) {
var ready = false;
var result = null;
instanceModel.find(query, function (err, tenantUser) {
ready = true;
if (err) {
console.log(err);
} else {
result = tenantUser;
}
});
while (ready === false) {
require('deasync').runLoopOnce();
}
return result;
}
Эта часть кода
while (ready === false) {
require('deasync').runLoopOnce();
}
Просто висит навсегда, и в конце концов она проходит. У кого-нибудь есть идеи?
Хотя цикл, как слишком быстро, к тому времени он достигает там, было бы пройти через миллион циклов, поэтому в основном вы блокируя весь процесс циклом while, что очень и очень неправильно. –
Вот что я понял. перед использованием deasync у меня была сумасшедшая петля, которая в основном блокировала все. Предполагается, что каркас должен преодолеть это – CodeMilian
. Я изменил свой код на это только сейчас, и, похоже, он требует выполнения («deasync»). LoopWhile (function() {return! Ready;}); – CodeMilian