gpt4 book ai didi

Angular 2 - .http - 为什么我需要 .subscribe .map 或 .switchMap 才能使 console.log 正常工作?

转载 作者:行者123 更新时间:2023-12-02 10:42:42 25 4
gpt4 key购买 nike

我有一个基本组件,它试图从Params中获取数据。但是我注意到,如果我缺少 .subscribe(),我的调试代码通常将无法工作。如果在此示例中注释掉 .subscribe(),则 Got Params?? 将不会打印到控制台。

this.route.params
.switchMap((params: Params) =>{
console.log("Got params??");
console.log(params);
// params['filename'])
return 'cat';
})
.subscribe(data=>{
console.log(data);
})

更多代码:

import { Component, OnInit } from '@angular/core';
import { Http } from '@angular/http';
import { Router, ActivatedRoute, Params } from '@angular/router';

import 'rxjs/add/operator/map';
import 'rxjs/add/operator/switchMap';


export class ParsedFileComponent implements OnInit {

parsed: any;
constructor(
private http: Http,
private route: ActivatedRoute
) { }

似乎 .switchMap() 中的代码除非订阅而不会被执行

最佳答案

这是因为默认情况下ObservablesCold,它们需要手动触发,在本例中使用subscribe()方法。

还有另一种类型的Observables,即Hot,它们会被另一个事物触发,比如 Angular 的async管道,在这个例子中如果您不需要 subscribe() 方法。

如果您想获得有关此问题的完整答案,请查看 this ,如果您觉得该答案有用,请点赞。

关于Angular 2 - .http - 为什么我需要 .subscribe .map 或 .switchMap 才能使 console.log 正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42356909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com