簡體   English   中英

在Angular 5中從.subscribe()返回數據后如何調用函數

[英]How to call function after you get data back from .subscribe() in Angular 5

我似乎找不到有效的答案。 我有一個可觀察的訂閱對象,例如:

this.contentfulService.weekNumber
    .subscribe(
        (weekNumber) => { this.weekNumber = weekNumber; }
    );

我想在接收到數據並將其放入變量this.weekNumber我嘗試這樣做:

this.contentfulService.weekNumber
    .subscribe(
        (weekNumber) => { weekNumber = this.weekNumber; },
        (error) => { console.log(error); },
        () => { console.log(this.weekNumber); }
    );

但我沒有得到console.log嗎? 我僅使用console.log作為測試,實際上我想使用this.weekNumber的數據來填充某些內容,但是當我將它放在weekNumber = this.weekNumber之后時,我weekNumber = this.weekNumber確定了,所以我需要能夠定義this.weekNumber之后調用一個函數

任何幫助,將不勝感激。

您沒有以正確的方式分配值。 請檢查教程。

更改代碼,如下所示:

    this.contentfulService.weekNumber
        .subscribe(
            (weekNumber) => { 
                    this.weekNumber = weekNumber;
                    console.log(this.weekNumber);
 },
            (error) => { console.log(error); });

我認為您的訂閱必須是這樣的:

this.contentfulService.weekNumber
    .subscribe(
        weekNumber => { 
                this.weekNumber = weekNumber;
                console.log(this.weekNumber); }, error => { console.log(error); });

現在您將無法獲得this.weekNumber是未定義的,因為您將在函數內部擁有此范圍

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM