Angular 2 Webworkers Http Uncaught(承诺):未实现
Angular 2 Webworkers Http Uncaught (in promise): not implemented
我一直卡在一个错误上,我不确定如何解决。
我的应用程序是在 Angular2 中制作的,并且在很大程度上基于本教程 http://www.syntaxsuccess.com/viewarticle/web-workers-in-angular-2.0
在 webworker 中完全运行
我的第一个功能是 socket.io 的实现,它工作得很好(也与 observables 等一起使用)但现在我想使用 Angular2 的 Http 服务,但我收到以下错误:
我的服务代码是这样的,当我调用 validateAccessToken 时出现错误(我必须在我的导入中添加 .js,否则我在 webworker 中的文件上得到 404):
import { Injectable } from '@angular/core';
import { Http, Headers, RequestOptions, Response } from "@angular/http";
import { environment } from "../../../environments/environment.js";
import { Observable } from "rxjs/Observable.js";
import 'rxjs/add/operator/toPromise.js';
import 'rxjs/add/operator/map.js';
@Injectable()
export class AuthService {
headers: Headers;
options: RequestOptions;
url: string;
constructor(private http:Http) {
this.url = environment.authServerUrl;
}
validateAccessToken(token) {
return this.http.get(this.url)
.map(this.extractData)
.catch(this.handleError);
};
extractData(response: Response) {...}
handleError(error: any) {...}
}
我知道这个问题很含糊,但是根据我从错误中得到的信息,我并不清楚到底出了什么问题。
Angular2 默认启用 CookieXSRFStrategy 并由 http 使用。
网络工作者没有 DOM 访问权限来获取要插入到 http headers 中的 cookie。从而抛出错误 Uncaught not implemented.
您应该实施自己的 CookieXSRFStrategy 策略,至少不会引发此错误;)
我一直卡在一个错误上,我不确定如何解决。 我的应用程序是在 Angular2 中制作的,并且在很大程度上基于本教程 http://www.syntaxsuccess.com/viewarticle/web-workers-in-angular-2.0
在 webworker 中完全运行我的第一个功能是 socket.io 的实现,它工作得很好(也与 observables 等一起使用)但现在我想使用 Angular2 的 Http 服务,但我收到以下错误:
我的服务代码是这样的,当我调用 validateAccessToken 时出现错误(我必须在我的导入中添加 .js,否则我在 webworker 中的文件上得到 404):
import { Injectable } from '@angular/core';
import { Http, Headers, RequestOptions, Response } from "@angular/http";
import { environment } from "../../../environments/environment.js";
import { Observable } from "rxjs/Observable.js";
import 'rxjs/add/operator/toPromise.js';
import 'rxjs/add/operator/map.js';
@Injectable()
export class AuthService {
headers: Headers;
options: RequestOptions;
url: string;
constructor(private http:Http) {
this.url = environment.authServerUrl;
}
validateAccessToken(token) {
return this.http.get(this.url)
.map(this.extractData)
.catch(this.handleError);
};
extractData(response: Response) {...}
handleError(error: any) {...}
}
我知道这个问题很含糊,但是根据我从错误中得到的信息,我并不清楚到底出了什么问题。
Angular2 默认启用 CookieXSRFStrategy 并由 http 使用。 网络工作者没有 DOM 访问权限来获取要插入到 http headers 中的 cookie。从而抛出错误 Uncaught not implemented.
您应该实施自己的 CookieXSRFStrategy 策略,至少不会引发此错误;)