我正在使用下一个插件来获取信息:
https://github.com/whiteoctober/cordova-plugin-app-version
下一个代码:
var app_information = {};
cordova.getAppVersion.getAppName(function (app_name) {
app_information["app_name"] = app_name;
});
cordova.getAppVersion.getPackageName(function (app_package_name) {
app_information["app_package_name"] = app_package_name;
});
cordova.getAppVersion.getVersionCode(function (app_build_identifier) {
app_information["app_build_identifier"] = app_build_identifier;
});
cordova.getAppVersion.getVersionNumber(function (app_version) {
app_information["app_version"] = app_version;
});
alert(app_information["app_version"]); // getting undefind
问题是当我在插件函数中使用alert时,我会得到结果,例如:
cordova.getAppVersion.getVersionNumber(function (app_version) {
alert(app_version);
});
但当我试图提醒最终变量"app_information"时,我得到了空变量(数组中没有值)
您正试图访问范围外的数据,这就是您无法提醒它的原因。只需声明一个全局变量并将数据分配给它,这样您就可以在任何地方使用它。
var app_info = '';
cordova.getAppVersion.getVersionNumber(function (app_version) {
app_info = app_version;
});
alert(app_info);
您的alert()太早了。大多数cordova/PhoneGap插件都是异步的,因此函数的函数回调可能会在几秒钟后返回。
试着研究类似Promise的东西来帮助异步回调地狱:)