2016-11-14 58 views
0

我一直被困在一个错误,我不完全确定如何解决。 我的应用程序在Angular2制成,在很大程度上是基于本教程http://www.syntaxsuccess.com/viewarticle/web-workers-in-angular-2.0Angular 2 Webworkers Http未捕获(承诺):未实现

我的第一个特点是它完美的工作(也与观测等),但socket.io的实现,现在我想将webworker完全运行使用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

CookieXSRFStrategy默认由Angular2启用并由http使用。 webworker不具有DOM访问权限,无法将Cookie插入到http头文件中。并因此引发错误Uncaught未实现。

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

+0

它的工作原理!谢谢 :) –

相关问题