2

問題の原因が Ember Mirage なのかどうかわかりません。サービスに次のコードがあります。

    Ember.$.get({
        url: `/api/online-courses/${Ember.get(course, 'id')}/courseData`,
        async: false, // use of deferreds, or promises, is deprecated with this setting
        beforeSend: function (xhr) {
          xhr.setRequestHeader('Authorization', Ember.get(service, 'ajax.headers')['Authorization'])
        },
        success: (result) => {
          globalState.initialized = true
          Ember.get(service, 'store').pushPayload('course-datum', result)
          initializeValues()
          returnVal = 'true'
        },
        error: (args) => {
          returnVal = 'false'
        }
      })

      return returnVal

ファイルで宣言されたルートもありmirage/config.jsます。単体テスト中にミラージュのみを使用するように設定されています。

テスト中は、XHR リクエストから Mirage ルート ハンドラへのコード実行を追跡できますが、その後は何も実行されません。で定義された成功ハンドラまたはエラー ハンドラのいずれにもヒットしません。Ember.$.get

実際の Web サーバーに対して開発中にこのコードを実行すると、正常に動作します。

Mirage はasync:falseフラグをサポートしていますか? this.pretender.getまた、ここで定義されている同期スタイルを使用して、構文を使用してエンドポイントを宣言しようとしました: https://github.com/pretenderjs/pretender#timing-parameter しかし、まだ喜びはありません...

アイデア、正しい方向へのナッジなどは大歓迎です。

4

0 に答える 0