繁体   English   中英

在离子护罩中使用NGRX

[英]Using ngrx in ionic guard

在离子方面,我有戒备。 在我的旧版本中,它看起来像这样(我正在从服务器获取数据):

ionViewCanEnter(): Promise<any> {
    return this.miejscaService.pobierzSzczegoly(this.navParams.data)
         .do(resp => {
            this.atrakcja = resp;
        })
        .toPromise();
}

它工作得很好,但是我想缓存数据,所以我现在正在使用ngrx存储。 我得到数据,但防护装置无法正常工作:/没有错误。 不知道为什么...

ionViewCanEnter(): Promise<any> {
    return this.store.select(getWybranaAtrakcja)
        .do(resp => {
            console.log('I\'m here');
            console.log(resp);
            this.atrakcja = resp;
        })
        .toPromise();
}

当我用Google搜索时,有一个小bug (我认为)。 达到存储从未解决(就承诺而言)。 https://github.com/Reactive-Extensions/RxJS/issues/1088

ionViewCanEnter(): Promise<boolean> {
    let resolver = (subsription: Subscription, resolve: Function, result: any) => {
        resolve(result);
        subsription.unsubscribe();
    };
    let rejecter = (subsription: Subscription, reject: Function, error: any) => {
        reject(error);
        subsription.unsubscribe();
    };

    return new Promise((resolve, reject) => {
        let subscription = this.store.select(getWybranaAtrakcja)
            .pipe(
                filter(resp => !!(resp))
            )
            .subscribe(
                result => {
                    this.atrakcja = result;
                    resolver(subscription, resolve, result);
                },
                error => {
                    rejecter(subscription, reject, error);
                }
            );
    });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM