Это функция браузера по умолчанию. каждый раз, когда вы запускаете HTTP-запрос, ваш браузер будет запускать этот дважды один с указанным вами методом, а другой - для метода OPTION, где браузер проверяет, существует ли этот запрос или нет.

я проблема с приложением Angular 4. Я создал приложение, в котором данные поступают от сторонних API. Проблема, которую я получаю, состоит в том, что мои API вызывают несколько раз, но я отправил запрос только один раз.

После некоторых исследований я обнаружил, что браузер выполняет запрос на полет с методом OPTION, но после проверки всех API, которые я обнаружил, они работают несколько раз, кроме запроса на полет. Как и для API, я запрашиваю API один раз, и он запускается 4 раза, 2 раза для опции и 2 раза для запроса GET. Я проверяю свой код и выполняется только один раз.

Я полностью понимаю и согласен с запросом полета.

Я проанализировал все вызовы на моем локальном компьютере, и вот вывод: 1. Все вызовы GET имеют соответствующий вызов OPTIONS, что, согласно некоторому artcle, не является проблемой 2. Однако для них существует несколько вызовов:

http://localhost:3005/tasks?taskID=1713&singular=1 = 4 Get call, 2 OPTIONS call  - why?
http://localhost:3003/resources/30/configs = 2 GET call, 1 OPTIONS call - why?
http://localhost:3003/resources/146/configs = 2 GET cal, 1 OPTIONS call - why?
http://localhost:3003/resources/30/settings = 2 GET call, 1 OPTIONS call - why?
http://localhost:3003/resources/146/settings = 2 GET call, 1 OPTIONS call - why?

Это единственные вызовы, где GET несколько раз. Для всех остальных звонков, / сред, / настроек, / admin, / currenttevent, / currenttshift .. звонок получен только один раз.

return this.http.get(this.environment.SFDCServiceHost + 'getCurrentEvent?resourceId=' + id + '&singular=1', {headers: this._helperService.setRequestHeader(id)});

Ответы на вопрос(2)

Ваш ответ на вопрос