Зарегистрирован ли AudioWorklet.addModule в сетевой консоли Chrome?
Я тестирую код некоторых звуковых рабочихлет, загружая пример модуля из Github через AudioWorklet.addModule(githubUrl). Однако, когда я смотрю на вкладку сети в настройках разработчика, я не вижу сетевого запроса к Github. Я знаю, что он делает запрос, потому что он выдавал ошибку CORS, прежде чем я переключился на использование адреса raw.githubusercontent (теперь он дает
Uncaught (in promise) DOMException: The user aborted a request
). Я хочу иметь возможность проверить, что возвращается сетевой вызов, чтобы помочь диагностировать проблему.
1 ответ
Похоже, в Chrome есть ошибка, которая не позволяет отображать сетевой запрос в инструментах разработчика. Я думаю, что было бы неплохо написать об этом ошибку.
Пока вы можете просто использовать Firefox. Он показывает сетевой запрос в инструментах разработчика.
Если вы хотите продолжать использовать Chrome, вы можете проксировать свой запрос с помощью
fetch()
чтобы он появился в инструментах разработки.
Вместо звонка
addModule()
прямо...
context.audioWorklet.addModule(url)
... вы можете сначала получить источник, а затем заключить его в URL-адрес объекта.
fetch(url)
.then((response) => response.text())
.then((text) => {
const blob = new Blob([text], { type: 'application/javascript; charset=utf-8' });
const objectUrl = URL.createObjectURL(blob);
return context.audioWorklet.addModule(objectUrl)
.finally(() => URL.revokeObjectURL(objectUrl));
})