从Observable获取字符串响应

时间:2019-09-26 22:55:11

标签: angular subscribe

我正在从后端检索一个字符串:

String value = "{I am here}";

为我服务:

getValue(): Observable<String> {
    return this.http.get<String>(this.myURL);
  }

我正在订阅:

String myMessage;

  getValue(): void {
    this.myService.getValue()
    .subscribe(message=> {
        this.myMessage= myMessage;
        console.log("WHY NOT ENTER HERE?)

);
  });

我做错了什么,甚至没有从console.log收到消息?

2 个答案:

答案 0 :(得分:1)

我想如果要使用字符串,则需要具体说明responseType。

这是文档https://angular.io/guide/http#requesting-non-json-data

对于您而言,getValue应该这样做:

return this.http.get(this.myURL, { responseType: 'text' });

请注意,您无需使用<string>

答案 1 :(得分:0)

据我所知,您的代码有误,可能是您无法为myMessage分配任何值的原因:

您的代码:

String myMessage;

  getValue(): void {
    this.myService.getValue()
    .subscribe(message=> {
        this.myMessage= myMessage;
        console.log("WHY NOT ENTER HERE?)

);
  });

应该是:

String myMessage;

  getValue(): void {
    this.myService.getValue()
    .subscribe(message=> {
        this.myMessage= message;
        console.log("WHY NOT ENTER HERE?)

);
  });

请注意,回调函数中的值分配部分使用了错误的变量。

希望有帮助。