我正在构建一个angularJS应用,其中将使用 Cordova.AppAvailability 插件来检查用户设备中是否安装了android软件包。
检查正常,插件调用正常。除非有一个非常奇怪的问题,否则几乎所有东西都可以正常工作。
在解决该问题之前,我将编写代码以更好地理解。
$scope.twitterInstalled = false;
appAvailability.check(
'com.twitter.android', // Package Name
function() { // Success callback
$scope.twitterInstalled = true;
console.log('Twitter is available');
},
function() { // Error callback
console.log('Twitter is not available');
}
);
这是我正在使用的插件。 我的问题是,
模板中的$scope.twitterInstalled
值需要大约5-6秒钟的时间才能从false
更新为true
(这很奇怪。为什么?因为,当我重新运行应用程序并检查控制台,日志记录在页面加载期间立即发生,但是$scope.twitterInstalled
的值没有立即更新。)
我推断,success callback
内部的任何函数调用都会立即发生,但是赋值或算术运算需要花费一些时间来进行处理和更新。
我检查了浏览所有可能的资源,但问题似乎很奇怪。需要一些协助来解决这个问题。
非常感谢!