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