0
Ich habe diesen Code:Wie cordova getAppVersion mit einem variablen Versprechen zu umhüllen?
var promiseVersionNumber;
if (typeof cordova !== 'undefined') {
console.log("I have cordova, I will try to get the AppversionNumeber");
promiseVersionNumber = cordova.getAppVersion.getVersionNumber();
} else {
console.warn("There is no cordova, I will use a dummyAppVersion");
promiseVersionNumber = $q.when(dummyAppVersion);
}
return $q.when(
(promiseVersionNumber).then(function(versionNumber){
defaultConfig.version = versionNumber;
return dbAppInfo.put(defaultConfig);
}).then(function(putDefaultConfig){
console.log("appConfig was created and saved on Database");
return dbAppInfo.put({
_id: 'myLastUpdate',
myLastUpdate: today,
debug: todayDebug
});
}).catch(function(error){
console.error("There was an error while initAppConfig appConfig on Database");
console.dir(error);
console.groupEnd("initAppConfig");
return error;
}));
Im Browser mit meinem Dummy promiseVersionNumber
funktioniert alles in Ordnung, aber auf dem Gerät bekomme ich diesen Fehler:
TypeError: promiseVersionNumber.then(...).then(...).then(...).catch is not a function
Wie kann ich cordova.getAppVersion.getVersionNumber()
richtig wickeln?
Wenn Sie ngCordova [hier] (https://github.com/driftyco/ng-cordova/blob/master/src/plugins/appVersion.js) betrachten, könnte es sein, dass 'cordova.getAppVersion.getVersionNumber() 'gibt kein Versprechen zurück, sondern nur ein einfaches Objekt? – distante
nein sie geben Versprechen zurück ... getVersionNumber: function() { var q = $ q.defer(); cordova.getAppVersion.getVersionNumber (Funktion (Version) { q.resolve (Version); }); Rückkehr q.Promise; }, – iCediCe
Ich meine, ohne die ngCordova Wrapper. (Nur um sicher zu sein, werde ich ngCordova verwenden) – distante