属性“ throw”在类型“ typeof Observable”上不存在

Ari*_*han 3 nativescript-angular

我学习用于开发android和ios应用程序的nativescript + angular.Iam工作和学习nativescript + angular的基本服务。在我的项目的post方法中,我在类型'typeof Observable'上没有错误'属性'throw'。我的代码是:

import { User } from "./user";
import { Config } from "../config";
import { Injectable } from "@angular/core";
import { Observable } from "tns-core-modules/ui/page/page";

@Injectable()
export class UserService {
    constructor(private http: Http) { }

    register(user: User) {
        let headers = new Headers();
        headers.append("Content-Type", "application/json");

        return this.http.post(
            Config.apiUrl + "Users",
            JSON.stringify({
                Username: user.email,
                Email: user.email,
                Password: user.password
            }),
            { headers: headers }
        )
            .catch(this.handleErrors);

    }

    handleErrors(error:Response)
    {
        console.log(JSON.stringify(error.json()));
        return Observable.throw(error);        
    }



} 
Run Code Online (Sandbox Code Playgroud)

小智 9

Observable.throw 和 throwError("Your error") 现已弃用。现在,您应该直接使用工厂作为throwError(() => new Error('Your error'))

检查这里


小智 6

Observable.throw现在已弃用。您必须改用以下代码:

import { throwError } from 'rxjs';
Run Code Online (Sandbox Code Playgroud)

然后将替换Observable.throwthrowError("Your error")。您的observable订阅者将以过去的方式来接收它。

在这里检查#287