Angular Universal RxJs“Observable_1.Observable.throw不是函数”

问题描述 投票:-1回答:1

我在通用服务器控制台日志上收到以下错误(仅限SSR而不是ng serve

错误TypeError:Observable_1.Observable.throw不是函数

以下是我的服务设置方式

import { Injectable, Injector } from '@angular/core';
import { HttpClient, HttpParams, HttpErrorResponse } from '@angular/common/http';
import { Headers, Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import { Subject, from } from 'rxjs';
import 'rxjs/add/observable/throw';


@Injectable()
export class BcProductService {

    constructor(
        private http: HttpClient,
        private configsService: ConfigsService,
        private injector: Injector
    ) {}

    getProductById(product_id) {
        const data = { product_id: product_id };
        return this.http.get<any>('/getProductById', { params: data }).catch(err => this.errHandler(err));
    }

    errHandler(error: HttpErrorResponse) {
        console.error(error);
        return Observable.throw(error.error || "unknown error");
    }

}

***我在另一个组件中订阅了getProductById()

在互联网上,我看到ppl忘记了import 'rxjs/add/observable/throw';,但我有这个,错误只发生在服务器端渲染。我输入了错误的Observable吗?

Versions

rxjs 6.3.2 Angular CLI:6.2.4节点:9.2.0操作系统:darwin x64 Angular:6.1.7 rxjs-compat:^ 6.3.3

angular rxjs angular-universal
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.