Я имею дело с инфраструктурой NodeJs, которая требует, чтобы определенная функция была синхронной, но мне нужно получить значение, доступ к которому можно получить только асинхронно. В идеальном мире я мог бы вернуть обещание, но я не могу.
В качестве быстрого и грязного решения я создал следующий метод:
exports.synchronizePromise = function(promise) {
var value;
promise.then(function(promiseValue) {
value = promiseValue;
});
while (!value) {} // Wait for promise to resolve
console.log("DONE: " + value); // Never reached
return value;
};
Но я получаю сообщение об ошибке. Есть ли способ выполнить то, что мне нужно?