Я использую пакет 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()
);
}