#javascript
#javascript
Вопрос:
У вас когда-нибудь была такая проблема? Ваш код работает с включенным отладчиком, но когда он выключен, он не работает??
Итак, выше у меня есть 2 ссылки на записи экрана, показывающие, как при активном отладчике работает мой код, но когда он не выдает ошибку. Если у кого-нибудь хватит смелости взглянуть на мой codepen проблемы, я был бы благодарен. (Отладчик не работает в codepen, но если вы возьмете код и поместите его в свой редактор, вы увидите, что он работает, когда отладчик включен.) https://codepen.io/oliver-saintilien/pen/jOrQBLv
stackoverflow говорит, что я ДОЛЖЕН включать код всякий раз, когда я использую ссылку codepen, однако код немного запутан. Поэтому я просто опубликую код, в котором возникает ошибка, но просто помните, что он действительно работает, если у меня подключена отладка.
//Uses path to return nested object
const traverse = (obj, path) => {
console.log(`1 time`);
return path.split(".").reduce((object, key) => object[key], obj);
};
Комментарии:
1. Как вы заставили эту панель появляться после выбора текста?
2. Да, это все в моем коде codepen (в ответ на то, как я заставляю всплывать эту панель), однако, чтобы перейти к сути, я на самом деле просто решил свою собственную проблему, хотя я не совсем понимаю, почему наука, стоящая за этим, ее исправляет. По какой-то причине мое изменение
let parentFolder = this[0].outerText.replace(/s/g, '')
наlet parentFolder = this[0].text.replace(/s/g, '')
заставляет его работать сейчас без включения отладчика, хотя я не знаю почему, но эй, это работает. Просто для ясности, мое использование метода.text
вместо.outerText
того, чтобы имело значение.3. Ваш ответ на мой вопрос: «прочитайте сотни строк кода, чтобы понять это?» 🙂 Никто не собирается этого делать. Но рад, что вы разобрались.
4. Да, я вас слышу, вас тоже не виню, но да, спасибо, я тоже счастлив
5. Затем, когда вы используете отладчик, функция остановки основного потока и таймера может возникнуть и запуститься.
Ответ №1:
По какой-то причине, изменив
let parentFolder = this[0].outerText.replace(/s/g, '')
Для
let parentFolder = this[0].text.replace(/s/g, '')
теперь он работает без включения отладчика, хотя я не знаю почему, но, эй, это работает. Просто для ясности, мое использование метода .text
вместо .outerText
того, чтобы имело значение.