Динамическая обработка исключений импорта - PullRequest
0 голосов
/ 19 октября 2018

Я использую динамический импорт ES6 для разделения кода в моем приложении React.Тем не менее, я хотел бы защитить приложение аутентификацией и заметил, что когда import () выходит для выборки фрагментов JS или CSS, он получает 401, как и ожидалось.Однако, когда я ловлю исключение через:

import("Component1").then( 
    module => this.setState({ module }) ).catch( 
    err => console.log(err) 
);

Ошибка, возвращаемая через "err", не содержит HTTP-ответ и код состояния (401).Есть ли способ поймать это?Я предполагаю, что import () должен выполнить fetch () под крышками, которые будут иметь к нему доступ.

1 Ответ

0 голосов
/ 19 октября 2018

Итак, я хочу рассказать о некоторых вещах, которые я узнал о динамическом импорте.Глубоко изучив исходный код веб-пакета, я обнаружил, что он использует тег <script> для выборки фрагментов, и поэтому обратный вызов сценария onerror не предоставляет коды состояния или ответы.

Этот полезный ответ помог мнепонять, почему гораздо лучше и как можно реализовать чанки в виде xhr-запросов вместо загрузки скриптов (предупреждение о спойлере: вам нужно реализовать новый плагин для веб-пакета): https://stackoverflow.com/a/37835802/8087836

...