Angular - Ionic 2 - 无法读取未定义的属性“订阅”

米萨克·博亚吉安

我正在尝试实现离线模式,我已经做了这样的事情。

在我的Page.ts文件中

getnews() {

        this._newsservice.GetNews(this.NewsFilterOptions).subscribe(res => {
            this.newsArray = res;
            this.loadingnews = false;
        },
            err => {
                this.loadingnews = false;
            },
            () => {

            });
    }

在我的Service文件中

GetNews(FilterOptions: any) {
        return this.utilitiesService.Get("news" + this.QueryBuilder(FilterOptions));
    }

我的Utilities档案

public Get(endUrl: string) :Observable<any> { 

        if (this._AppConfig.IsOnline) { // If Online Get From Server
            ...
            return this.http.get(this.baseUrl + endUrl, options)
                .map(response => {
                    //SAVE HTTP RESPONSE TO DICTIONARY
                    this._OfflineService.Set(this.baseUrl + endUrl, response);
                    return response.json()
                });
        }
        else {

            this._OfflineService.Get(this.baseUrl + endUrl).then(val => {
                return Observable.of(val).map(o => o.json());
            }).catch((err) => {
                return Observable.throw("ERROR");
            });


            // FETCH HTTP RESPONSE FROM DICTIONARY
            //return Observable.of(Data).map(o => o);

        }


    }

离线Service:我正在使用 Ionic LocalStorage

 Get(endUrl: string) {

    // Or to get a key/value pair
    return this.storage.get(endUrl);

}


 Set(endUrl: string , data: any) {

    // Or to get a key/value pair
    this.storage.set(endUrl,data).then((val) => {

    });
    }

现在在线模式工作正常,但是当应用程序离线时,subscribe虽然我返回了可观察的,但我得到了无法读取未定义的属性

苏拉·拉奥

使用Observable.fromPromise.

在您的Get()函数中,else 部分:

return Observable.fromPromise(this._OfflineService.Get(this.baseUrl + endUrl))
     .map(val => val.json())
     .catch((err) => {
                return Observable.throw("ERROR");
            });

这会将承诺转换为可观察的,您可以使用它map来解析 json 并最终订阅。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

NgZone / Angular2 / Ionic2 TypeError:无法读取未定义的属性“运行”

来自分类Dev

无法读取未定义的属性“目标”-Ionic Angular

来自分类Dev

无法读取未定义Angular 2的属性

来自分类Dev

Angular - TypeError:无法读取未定义的属性“订阅”

来自分类Dev

Ionic / Angular JS-$ scope问题:无法读取未定义的属性“ length”

来自分类Dev

Ionic / Angular JS-$ scope问题:无法读取未定义的属性“ length”

来自分类Dev

(Angular2 和 Typescript)Angular 的 DatePicker 无法读取未定义的属性“切换”

来自分类Dev

Angular2-TypeError:无法读取(Typescript)中未定义的属性'Id'

来自分类Dev

无法读取Angular 2中的嵌套调用中未定义的属性“ subscribe”

来自分类Dev

Angular2 * ngFor:“无法读取未定义的属性'0'”

来自分类Dev

Angular 2异常:TypeError:无法读取未定义的属性“ annotations”

来自分类Dev

Angular 2 ViewChild不起作用-无法读取未定义的属性nativeElement

来自分类Dev

Webpacked Angular2应用程序TypeError:无法读取未定义的属性“ getOptional”

来自分类Dev

@ ngrx /使用Angular 2的存储:无法读取未定义的属性

来自分类Dev

angular2形式-无法读取未定义的属性替换

来自分类Dev

Angular2 + RxJS-无法读取未定义的下一个属性

来自分类Dev

Angular2 beta 11无法读取未定义的属性区域

来自分类Dev

更新后的Angular 2我收到此错误:无法读取未定义的属性“区域”

来自分类Dev

Angular 2子路由(v3)'无法读取未定义的属性'annotations''

来自分类Dev

如何上传照片(ng2-file-upload)Angular无法读取未定义的属性“ push”

来自分类Dev

Webpacked Angular2应用程序TypeError:无法读取未定义的属性“ getOptional”

来自分类Dev

使用ngFormModel(ES6)时angular2无法读取未定义的属性'validator'

来自分类Dev

Angular 2 beta16无法读取未定义的属性“ MinFreeShipping”

来自分类Dev

Angular 2 rc1 TypeError:无法读取未定义的属性“注释”

来自分类Dev

angular 2 rc-无法读取未定义的属性“ request”

来自分类Dev

Angular2(RC-4):无法读取未定义的属性“ pathsWithParams”

来自分类Dev

使用@input在Angular 2中“无法读取未定义的属性'名称'”

来自分类Dev

带有Webpack的Angular 2(无法读取未定义的属性“排除”)

来自分类Dev

Angular 2 数据绑定(无法读取未定义的属性“proposta_usuario”)

Related 相关文章

  1. 1

    NgZone / Angular2 / Ionic2 TypeError:无法读取未定义的属性“运行”

  2. 2

    无法读取未定义的属性“目标”-Ionic Angular

  3. 3

    无法读取未定义Angular 2的属性

  4. 4

    Angular - TypeError:无法读取未定义的属性“订阅”

  5. 5

    Ionic / Angular JS-$ scope问题:无法读取未定义的属性“ length”

  6. 6

    Ionic / Angular JS-$ scope问题:无法读取未定义的属性“ length”

  7. 7

    (Angular2 和 Typescript)Angular 的 DatePicker 无法读取未定义的属性“切换”

  8. 8

    Angular2-TypeError:无法读取(Typescript)中未定义的属性'Id'

  9. 9

    无法读取Angular 2中的嵌套调用中未定义的属性“ subscribe”

  10. 10

    Angular2 * ngFor:“无法读取未定义的属性'0'”

  11. 11

    Angular 2异常:TypeError:无法读取未定义的属性“ annotations”

  12. 12

    Angular 2 ViewChild不起作用-无法读取未定义的属性nativeElement

  13. 13

    Webpacked Angular2应用程序TypeError:无法读取未定义的属性“ getOptional”

  14. 14

    @ ngrx /使用Angular 2的存储:无法读取未定义的属性

  15. 15

    angular2形式-无法读取未定义的属性替换

  16. 16

    Angular2 + RxJS-无法读取未定义的下一个属性

  17. 17

    Angular2 beta 11无法读取未定义的属性区域

  18. 18

    更新后的Angular 2我收到此错误:无法读取未定义的属性“区域”

  19. 19

    Angular 2子路由(v3)'无法读取未定义的属性'annotations''

  20. 20

    如何上传照片(ng2-file-upload)Angular无法读取未定义的属性“ push”

  21. 21

    Webpacked Angular2应用程序TypeError:无法读取未定义的属性“ getOptional”

  22. 22

    使用ngFormModel(ES6)时angular2无法读取未定义的属性'validator'

  23. 23

    Angular 2 beta16无法读取未定义的属性“ MinFreeShipping”

  24. 24

    Angular 2 rc1 TypeError:无法读取未定义的属性“注释”

  25. 25

    angular 2 rc-无法读取未定义的属性“ request”

  26. 26

    Angular2(RC-4):无法读取未定义的属性“ pathsWithParams”

  27. 27

    使用@input在Angular 2中“无法读取未定义的属性'名称'”

  28. 28

    带有Webpack的Angular 2(无法读取未定义的属性“排除”)

  29. 29

    Angular 2 数据绑定(无法读取未定义的属性“proposta_usuario”)

热门标签

归档