ionic2 のホーム タブでオブザーバブルをキャンセルしようとしていますが、6 時間経っても何も機能していないため、バグである可能性があります。
私が使用している観察可能な例は、このサイトからのものです https://coryrylan.com/blog/intro-to-rxjs-observables-and-angular-2
ngZone を試してみましたが、ngZone から間隔をクリアすることはできません。
私はもう試した
ionViewWillLeave() {
this.disposable.dispose();
clearInterval(this.home_game_timer);
}
何も機能しません..これがコードです...このコードはホームタブにあります
getGame(){
var link = 'https://gamerholic.com/******';
var data_post = JSON.stringify({game:this.game,uid:this.data.uid,device:this.device_id,session:this.session});
let headers = new Headers({ 'Content-Type': 'application/json' }); // ... Set content type to JSON
let options = new RequestOptions({ headers: headers }); // Create a request option
return this.http.post(link, data_post, options) // ...using post request
.map(data => data.json())
.catch(this.handleError)
.subscribe((data) =>{
this.game_data = data
if(this.game_data.success){
this.game = this.game_data.games[0].id,
this.game_data = this.game_data.games[0]
this.gameStream$ = new Observable(observer=>{
this.home_game_timer = setInterval(()=>{
if(this.gone<1){
var link = 'https://gamerholic.com/****';
var data = JSON.stringify({game:this.game,uid:this.uid});
let headers = new Headers({ 'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8' });
let options = new RequestOptions({ headers: headers });
return this.http.post(link, data,options)
.map(data => data.json())
.catch(this.handleError)
.subscribe((data) =>{
var d = data
observer.next(d)
})
}
},1000)
return(()=>{
clearInterval(this.home_game_timer);
})
})
this.disposable = this.gameStream$.subscribe((data)=>{
this.timer_data = data
this.list_players = data
console.log(this.timer_data)
})
}
})
}