2017-10-06 22 views
1

私は説明できないAngularJS(1.6.3)アプリで奇妙な動作を発見しました。両方のコンポーネントは、HTTPリクエストを行うAngularJSのHttpリクエストは同期処理されていますか?

$doCheck() { 
    if(this.path !== this.$stateParams.path) { 
    this.path = this.$stateParams.path; 

    this.handleNewPath(this.path); 
    } 
} 

:。私は

は私が$state.go('.', {path: 'newPath'})経由で動的パラメータの変更を行うなど2つの兄弟コンポーネントが$doCheck方法でその変化に反応する何

そして、ここに私の問題が来る。

期待される動作コンポーネントによって開始

要求がお互いに影響を与えません。どちらも完全に分離された回答を処理します。そのため、コンポーネントAが最初に応答する場合があります。最初に処理するよりも、コンポーネントBが速くなることもあります。

実際の行動

成分Aを約550ms(450コンテンツのダウンロードを)取る要求を、開始します。コンテンツが完全にダウンロードされていない限り、他の要求は実行されません。

私の質問

なぜAngularJS、この場合には、このように振る舞うん?私は前にこのようなことを決意していませんでした。通常、多くの要求はパラレルで開始できます。

奇妙な挙動 enter image description here

通常の動作

enter image description here

更新

成分BはHighchartを含みます。そのチャートを無効にすると、要求は開始されますが、応答は処理されません。要求のブロックは消滅したようです。

+0

これはAngularJSの問題のようで、ハイチャートに直接接続されていません。 Highchartsに問題はありますか? –

答えて

関連する問題