jsonpリクエストのタイムアウトを処理する方法は?私はjsonp.get()メソッドによって返されたオブザーバブルに対して10秒のタイムアウトを持っていますが、タイムアウトに達しても要求はブラウザに残ります。 1-2分のタイムアウト後、私は、コンソールにこのエラーが表示されます。私のコンポーネントで64jsonpリクエストのタイムアウトエラーを回避するには?
JSONPリクエストを作成し、サブスクライブしたい:
は https://myserver/?url=asdf&callback=ng_jsonp.__req0.finished ネット:: ERR_CONNECTION_TIMED_OUT browser_jsonp.jsをGET
:this.service.jsonp(url).subscribe( (response) => { this.handleResponse(response); }, (err) => { this.handleError(err); } );
これは私のサービスでJSONPの方法であって、このようなことに
jsonp(url: string): Observable<any> { let params = new URLSearchParams(); params.set('url', url); params.set('callback', 'JSONP_CALLBACK'); return this.jsonp.get('https://myserver', {search: params}) .timeout(10000) .catch((err: Response) => Observable.throw(err)) .map((response: Response) => response.json()); }
ありがとうございました。だから、基本的には、私はjsonp要求によって、したがってスクリプトタグによって引き起こされるエラーをキャッチできないと言っていますか? – RichieRock
なぜそれをキャッチする必要がありますか?あなたの便宜のために、Chromeは単にリソースローディングエラーをコンソールに出力します。 – kemsky