«read_image» объявлен, но его значение никогда не считывается.ts(6133)

#javascript

Вопрос:

 $(el).append(`
<input type="file" onchange="read_image(this)">
`);

function read_image(input){}
 

Я получаю эту ошибку: 'read_image' is declared but its value is never read.ts(6133)

Спасибо за любые предложения

Ответ №1:

Поскольку функция «read_image» объявлена, но никогда не использовалась, TypeScript выдает эту ошибку. Он находится внутри динамического элемента, который может отсутствовать или может существовать.

Комментарии:

1. github.com/microsoft/TypeScript/issues/19700

2. Я не знаю о typescript, я просто изменил тип файла на модуль, чтобы я мог импортировать/экспортировать. Если я помещу эту логику в обычный файл js, она сработает. Но я использую модули не для этого…

3. В Typescript есть странные правила, которые помогают гарантировать, что ваш код соответствует определенным критериям. Ошибка возникает из-за того, что метод read_image не вызывается явно; скорее, он вызывается динамически, и компоновщик машинописного текста этого не замечает. Вы можете найти методы комментариев, чтобы игнорировать проблему или переключиться на JavaScript, потому что JS не заботится о подобных вещах.

4. Я понимаю, в чем проблема, но что я могу с этим поделать? Я попытался вызвать функцию сразу после ее определения, но все равно безуспешно.

Ответ №2:

Решил ее с помощью:

 $(el).append(`
<input type="file" onchange="read_image(this)">
<script>
function read_image(input){}
</script>
`);