Angular 2 Webworkers Http Uncaught(承诺):没有实现

时间:2016-11-14 09:08:34

标签: javascript angular angular-promise web-worker angular-http

我一直坚持错误,我不确定如何解决。 我的应用程序是在Angular2中完成的,完全在一个webworker中运行,主要基于本教程http://www.syntaxsuccess.com/viewarticle/web-workers-in-angular-2.0

我的第一个功能是socket.io的一个实现,它完美地工作(也有observables等。)但是现在我想使用Angular2的Http服务,我得到以下错误:

enter image description here

我的服务代码是这样的,当我调用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) {...}
}

我知道这个问题很模糊,但是根据我从错误中得到的信息,我不清楚出了什么问题。

1 个答案:

答案 0 :(得分:1)

CookieXSRFStrategy默认由Angular2启用并由http使用。 webworker没有DOM访问权限,无法将cookie插入http标头中。因而抛出未实现的错误。

你应该实现自己的CookieXSRFStrategy策略,至少不会抛出此错误;)