В моем приложении рекурсивная функция вызывает удаленный одноранговый узел для некоторых данных, а затем снова вызывает себя. Есть ли способ ждать ответа от сервера, а затем продолжить поток выполнения?Последовательное выполнение в javascript над сетью
Я использую Simple-Peer
для удаленных вызовов.
function foo() {
data = getFromPeer();
if(condition)
foo();
else return bar;
}
getFromPeer
является пользователем функцией, которая отправляет данные на удаленные узлы, используя SimplePeer
соединение. Удаленный одноранговый узел отвечает, когда он получает запрос. На данный момент никаких обещаний или обратных вызовов нет.
Не могли бы вы поделиться им? –
Поскольку мы не знаем вашу функцию getFromPeer(), лучше всего я могу представить, установить значение данных по умолчанию. запустите цикл и подождите, пока не изменится его значение или не появится ожидаемое значение. Имейте в виду, чтобы максимально подождать. В противном случае, он может застрять навсегда. –