console.log в promise
Вызывается функция и в ней
function my(argumets) { return new Promise( callback => { //переменные и всякая работа //тут нужно выводить значения двух переменных //вывожу console.log( var1, var2 ) ...... Все ОК, но вывода в консоль нет, можно alert вставить, будет показано, но это не дело для отладки. Почему нет вывода консоль, словно и не предписано этого? Пошукал в сети, вроде бы и нет такой проблемы. |
Всё работает:
function my(argumets) { return new Promise( callback => { var var1 = 'var1', var2 = 'var2' console.log( var1, var2 ) }) } my() |
Aetae, а что может быть причиной не работы? Я понимаю, если бы не выполнялась функция, но она отрабатывает на 5, делает все что положено, но вывода нет в консоль, не важно чего, можно все что угодно прописать для вывода, вывод нет.
|
Что угодно. Абстрактно можно только проверить, что console.log вообще работает, а то некоторые альтернативно одарённые любят его подменять.
|
Aetae, я не могу выложить код функции, хотя она и не такая большая, дело в том, что это как бы уже и не мое, продано. А заказчик еще и все просил "зашифровать от конкурентов", а доводы, что не скрыть и если надо, то утянут, не помогло. Ну и как бы выложить где-то, это как бы нельзя. :)
Работу, частью которой является эта функция, делал давно, вроде бы все возможные "если ..." протестировал, но как оказалось не все ситуации учел. Только сейчас замечено, что при определенных условиях конечный результат не совсем корректный. Было только одно предположение - в этом случае получаются отрицательные значения (а должно быть от 0 до ...) при расчете смещений. Вот я и решил вставить вывод в консоль, чтобы контролировать и определить условия при которых наступает "не то". Ничего необычного в функции нет, вот так: myF(arguments).then( //работаем с результатом ); myF(arguments) { return new Promise( callback => { //объявление переменных //среди которых две, это начальный расчет смещений //тут и вставил вывод в консоль console.log( v1, v2 ) //далее несколько функций сортировки //затем по их результату производится окончательный расчет смещений //и значений двух переменных зависящих от этих смещений //поэтому тут тоже добавлен вывод в консоль console.log( d1, d2 ) //читается изображение im.onload = _=> { //тут в цикле расчеты и работа с канвой for(...) { //... } //закончили, выход } }) } Код выполняется без проблем (некорректность не важна в данном случае), а вот вывод в консоль ни один не работает, словно их нет в коде. Разбираться почему, тратить время, сделал отдельно "стендовое устройство" и на нем проверил предположение, оно оказалось верным, доработал и все нормально теперь. Но вопрос так и остался, почему, что в этом коде может быть причиной игнорирования консоли? |
Ну остается только в отладчике пройти эту функцию по шагам.
|
Да я уже сделал, отдельно. Но почему так? Если вместо вывода в консоль вставить alert(), то они срабатывают, показывают, закрываешь их и получаешь результат работы, никаких проблем. А вот на console.log словно табу наложено. :)
|
Возможно тот "шифровальщик", которым ты свой код "защищаешь" тупо вырезает console.log?
|
если, например,
const response = await window.fetch(endpoint, config); console.log('this wont console.log', await response.json()); если fetch не выполнился, т.е. "нет интернета", "респонс не содержит json" то консоль не будет печатать ), да... |
А если в консоли написать console.log(111), то сработает?
|
Часовой пояс GMT +3, время: 09:35. |