Ich versuche everlive api für meine {N} NG2 App einzurichten, und ich habe das Set AnknüpfendTelerik Everlive API Nativescript Angular2 Setup-
const Everlive = require('./utils/everlive.all');
@Component({
selector: "main",
template: "<page-router-outlet></page-router-outlet>"
})
export class AppComponent implements AfterViewInit {
el: any;
constructor(private utils: Utils) { }
ngAfterViewInit() {
this.el = new Everlive({
appId: Config.telerikAppId,
offlineStorage: true,
offline: {
syncUnmodified: true,
typeSettings: {
"ContentTypeName": {
"autoGenerateId": false
}
},
storage: {
provider: Everlive.Constants.StorageProvider.FileSystem
}
},
syncStart: this.startSync,
syncEnd: this.endSync
});
// start
this.el.online();
// track
connectivity.startMonitoring((newConnectionType: number) => {
switch (newConnectionType) {
case connectivity.connectionType.none:
console.log("Connection type changed to none.");
this.goOffline();
break;
case connectivity.connectionType.wifi:
console.log("Connection type changed to WiFi.");
this.goOnline();
break;
case connectivity.connectionType.mobile:
console.log("Connection type changed to mobile.");
this.goOnline();
break;
}
});
}
startSync() {
this.utils.showLoader();
};
endSync(syncInfo) {
this.utils.hideLoader();
alert('Sync with server complete');
console.log(syncInfo);
};
goOffline() {
this.utils.confirmBox('No internet connection, switch to offline mode?', '', 'Yes', 'No')
.then((result) => {
if (result) {
this.el.offline();
} else {
this.logout();
}
});
}
goOnline() {
this.utils.confirmBox('Internet connection detected, switch to online mode and sync data?', '', 'Yes', 'No')
.then((result) => {
if (result) {
this.utils.showLoader();
this.el.online();
this.el.sync();
} else {
this.logout();
}
});
}
logout() {
}
}
Wenn ich die App starten, zwischen einer Reihe von Staaten navigieren in der Hoffnung, dass Daten zwischengespeichert werden. Nun schalten Sie ich die WiFi auf meinem Laptop erwartet, dass es die Daten aus dem Dateisystem zu ziehen, die sie zwischengespeichert hat, sondern sehe ich einen Fehler von zone.js
Unhandled Promise rejection: Response {_body: Error: The Internet connection appears to be offline., status: 200, ok: true, statusText: "", headers: Headers…} ; Zone: <root> ; Task: Promise.then ; Value: Response {_body: Error: The Internet connection appears to be offline., status: 200, ok: true, statusText: "", headers: Headers…} undefined
das ist, was ich sehe, wenn ich die Antwort protokollieren, wenn die sync
abgeschlossen
Object {syncedItems: undefined, syncedToServer: 0, syncedToClient: 0, failedItems: undefined, error: undefined}
werden Sie Telerik Backend-Services verwenden oder haben Sie Ihre eigenen Java/PHP-Backend, aus dem ursprünglich die Daten erhalten? – user7138736
Telerik-Backend-Dienste – d1mitar