У меня проблемы с запуском сразу же последующих обратных вызовов из плагина Cordova (для iOS). В отладчике XCode я ясно вижу, что он перешагивает
[self.commandDelegate sendPluginResult:pluginResult callbackId:monitoredRegions.callbackId];
несколько раз (в непосредственной последовательности), каждый раз с немного другим pluginResult
. Это вызывается
[locationManager requestStateForRegion:region];
которые я не контролирую (и не могу) контролировать.
Проблема в том, что на стороне Javascript обратный вызов запускается только один раз.
Что (на самом деле не так) странно, так это то, что если я ввожу некоторую блокировку в этот обратный вызов, например alert()
, обратный вызов запускается несколько раз (как и ожидалось). Это круто, но мне не нужны никакие alert()
в приложении.
Насколько я понимаю, commandDelegate
должен заботиться о многопоточности и очередях, но похоже, что это не так. Вопрос в том, как запустить обратный вызов JS каждый раз, когда вызывается sendPluginResult
.
Большое спасибо!