2016-11-14 63 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

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

相關問題