在Angular 5中从.subscribe()获取数据后如何调用函数

时间:2018-02-15 05:54:14

标签: javascript angular typescript

我似乎无法找到有效的答案。我有一个可观察到的,我订阅的是这样的:

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之后把它放到我未定义的时候我就需要能够在this.weekNumber定义后调用函数

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

您没有以正确的方式分配值。请查看this教程。

更改您的代码,如下所示:

->offset('1')->take('9')

答案 1 :(得分:0)

我认为您的订阅必须是这样的:

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

现在你不会得到这个.weekNumber是未定义的,因为你将在函数内部具有这个范围