我正在某个项目(ionic3)上使用Firebase。 我使用这个离子本机插件:firebase plugin。 FCM和数据库(使用angularfire)有效(尽管我无法将推送通知发送到在iOS上经过测试的设备)
当我使用此代码时:
this.url = "";
console.log("before getValue()");
this.firebase.getValue("info_url").then(url => {
console.log("during getValue()");
this.url = url;
console.log(this.url);
}).catch(error => {
console.log(error);
});
console.log("after getValue()");
控制台打印:
before getValue()
after getValue()
我没有任何网址。
编辑: 在app.component.ts中,我还想在this.platform.ready()。then()内部调用其中一个函数。我应该使用哪一个?
getWindowConfig() {
(<any>window).FirebasePlugin.fetch(600, result => {
// activate the fetched remote config
console.log(JSON.stringify(result)); //Always "OK"
(<any>window).FirebasePlugin.activateFetched(
// Android seems to return error always, so we want to cath both
result => {
console.log(JSON.stringify(result)); //either true or false
(<any>window).FirebasePlugin.getValue("info_url", result => {
console.log(result)
}, reason => {
console.warn(`Error ${reason}`);
});
}, reason => {
console.warn(reason);
}
)
});
}
async getConfigValues() {
if (this.platform.is('android')) {
var defaults = {
support_email: "<default>",
nanobyte_email: "<default>",
kilobyte_email: "<default>",
megabyte_email: "<default>",
gigabyte_email: "<default>",
hadassah_email: "<default>",
service_email: "<default>",
info_url: "<default>",
schedule_url: "<default>"
}
await this.firebase.setDefaults(defaults);
}
await this.firebase.fetch();
this.firebase.activateFetched();
}
我很想得到建议。 谢谢您的回答。
授予