Как узнать, что является ошибкой типа 3 в объекте ошибки JavaScript? - PullRequest
0 голосов
/ 07 ноября 2018

Я использую пакет npm serialize-error для записи ошибок JavaScript в файл журнала на моем сервере при выполнении запроса http в приложении Angular / Ngrx.

Я получаю type = 3 в объекте ошибки JS при сериализации. Я нигде не могу найти, что это значит. Кто-нибудь знает?

Код, который выполняет сериализацию ошибки JS, можно найти ниже, но я не уверен, что это актуально.

Что я действительно спрашиваю, так это что означает, когда объект ошибки JS содержит тип = 3?

Это строка сериализованных данных (отформатированная для ясности), которая печатается:

        [err] => Array 
        ( 
            [_body] => Array 
            ( 
                [isTrusted] => 1 
            ) 
            [status] => 0 
            [ok] => 
            [statusText] => 
            [headers] => Array 
            ( 
                [_headers] => Array ( ) 
                [_normalizedNames] => Array ( ) 
            ) 
            [type] => 3 
            [url] => 
        ) 

Это код, который непоследовательно генерирует ошибку (он работает 95% времени, поэтому в моем синтаксисе это не просто что-то) Но я не могу устранить его, потому что не могу найти никаких ссылок на то, что означает тип = 3:

@Effect() $teamLoadAction: Observable<Action> = this.actions$
  .ofType(TEAM_LOAD_ACTION)
  .switchMap((action) => this.team.get(action.payload))
  .map((res) => {
    return new NullAction();
  }
)
.catch((err) => Observable.of(new UserErrorAction(err)));

this.team.get определяется как (просто угловой http.post):

get(data) {

    return this.http.post(
        this.config.hostUrl+'/api/team/get', 
        JSON.stringify(data))
      .map(
        (res) => {
        return res.json();
    }
      );
  }

Это код внутри обработчика UserActionError, который сериализует значение ошибки:

 import SerializeError  from "serialize-error";
 syserr(err): Observable<ApiState> {
    data = SerializeError(err);

    return this.http.post(
        this.config.hostUrl+'/api/account/syserr', 
        JSON.stringify(data) )
    .map(
        res => res.json()
    );
  }
...