Последующие обратные вызовы из плагина Cordova iOS не запускаются

У меня проблемы с запуском сразу последующих обратных вызовов из плагина Cordova (iOS). В отладчике XCode я ясно вижу, что он переходит

[self.commandDelegate sendPluginResult:pluginResult callbackId:monitoredRegions.callbackId];

несколько раз (сразу), каждый раз с немного отличающимся pluginResult. Это вызвано

[locationManager requestStateForRegion:region];

, который я не контролирую (и не могу).

Проблема в том, что на стороне Javascript обратный вызов срабатывает только один раз.

Что странно (на самом деле не так), так это то, что если я введу некоторую блокировку в этом обратном вызове, например, alert(), обратный вызов будет запущен несколько раз (как и ожидалось). Это круто, но мне не нужно никаких alert() в приложении.

Если я понимаю, commandDelegate должен позаботиться о потоке и очереди, но похоже, что это не так. Вопрос в том, как вызывать обратный вызов JS каждый раз, когда вызывается sendPluginResult.

Большое спасибо!

8
задан meandre 16 July 2014 в 09:14
поделиться