我试图在成功完成Promise之后返回一个observable,但该函数没有返回Observable.要特定于代码,我想从存储中获取auth令牌(返回promise),然后在获取数据之后,然后生成对Api的Post请求(返回Observable).通过这样做,sublime文本在函数上给出了一个错误,"声明类型既不是'void'也不是'any'的函数必须返回一个值"下面是我的代码,
logout() : Observable<any>{
this.userData.getAuthToken().then((token)=>{
this.token = token;
this.headers = new Headers ({
"X-USER-TOKEN": token
});
this.options = new RequestOptions ({
headers: this.headers
});
var logout_url = "Api logout method";
return this.http.post(logout_url,{},this.options)
.map (res => res.json())
});
}
Run Code Online (Sandbox Code Playgroud)
如果我只是做一个帖子请求,那么它会像这样返回
return this.http.post(logout_url,{},this.options)
.map (res => res.json())
Run Code Online (Sandbox Code Playgroud)
但是当我尝试获取数据时,它不会从此发布请求中返回值.任何帮助都感激不尽!提前致谢
我正在使用ionic 2 RC1并使用sublime作为文本编辑器.我需要检查网络连接是否已连接.所以为了这个目的,我正在使用离子原生网络.但我面临着Network.onDisconnect()Observable的问题.我编辑了initializeApp()检查网络连接的方法,如果连接断开连接则显示警报.我写了以下代码app.component.ts
showAlert(title, msg) {
let alert = this.alertCtrl.create({
title: title,
subTitle: msg,
buttons: ['OK']
});
alert.present();
}
initializeApp() {
this.platform.ready().then(() => {
// Okay, so the platform is ready and our plugins are available.
// Here you can do any higher level native things you might need.
let disconnectSubscription = Network.onDisconnect().subscribe(() => {
this.showAlert("Error", "No internet connection");
});
StatusBar.styleDefault();
});
}
Run Code Online (Sandbox Code Playgroud)
我面临的问题是,如果应用程序与Internet断开连接,警报会显示两次.我在这篇文章中发现了类似的问题,但没有得到答复.任何有关这方面的帮助将不胜感激.提前致谢 !