Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.11.2020, 18:24
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

console.log в promise
Вызывается функция и в ней

function my(argumets) {
    return new Promise( callback => {
        //переменные и всякая работа
        //тут нужно выводить значения двух переменных
        //вывожу 

       console.log(
            var1, var2
       )
......


Все ОК, но вывода в консоль нет, можно alert вставить, будет показано, но это не дело для отладки. Почему нет вывода консоль, словно и не предписано этого? Пошукал в сети, вроде бы и нет такой проблемы.
Ответить с цитированием
  #2 (permalink)  
Старый 08.11.2020, 18:42
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Всё работает:
function my(argumets) {
    return new Promise( callback => {
        var var1 = 'var1', var2 = 'var2'

       console.log(
            var1, var2
       )
    })
}
my()
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 08.11.2020, 18:49
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Aetae, а что может быть причиной не работы? Я понимаю, если бы не выполнялась функция, но она отрабатывает на 5, делает все что положено, но вывода нет в консоль, не важно чего, можно все что угодно прописать для вывода, вывод нет.
Ответить с цитированием
  #4 (permalink)  
Старый 08.11.2020, 22:41
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Что угодно. Абстрактно можно только проверить, что console.log вообще работает, а то некоторые альтернативно одарённые любят его подменять.
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 09.11.2020, 01:05
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Aetae, я не могу выложить код функции, хотя она и не такая большая, дело в том, что это как бы уже и не мое, продано. А заказчик еще и все просил "зашифровать от конкурентов", а доводы, что не скрыть и если надо, то утянут, не помогло. Ну и как бы выложить где-то, это как бы нельзя.

Работу, частью которой является эта функция, делал давно, вроде бы все возможные "если ..." протестировал, но как оказалось не все ситуации учел. Только сейчас замечено, что при определенных условиях конечный результат не совсем корректный. Было только одно предположение - в этом случае получаются отрицательные значения (а должно быть от 0 до ...) при расчете смещений. Вот я и решил вставить вывод в консоль, чтобы контролировать и определить условия при которых наступает "не то".

Ничего необычного в функции нет, вот так:

myF(arguments).then(
//работаем с результатом
);

myF(arguments) {
    return new Promise( callback => {
        //объявление переменных
        //среди которых две, это начальный расчет смещений
        //тут и вставил вывод в консоль 
       
        console.log(
            v1, v2
        )

        //далее несколько функций сортировки     
        //затем по их результату производится окончательный расчет смещений 
        //и значений двух переменных зависящих от этих смещений
        //поэтому тут тоже добавлен вывод в консоль

        console.log(
            d1, d2
        )  
    
        //читается изображение
        im.onload = _=> {
            //тут в цикле расчеты и работа с канвой
            for(...) {
                //...
            }
            
            //закончили, выход 
   
        }
    })
}


Код выполняется без проблем (некорректность не важна в данном случае), а вот вывод в консоль ни один не работает, словно их нет в коде. Разбираться почему, тратить время, сделал отдельно "стендовое устройство" и на нем проверил предположение, оно оказалось верным, доработал и все нормально теперь. Но вопрос так и остался, почему, что в этом коде может быть причиной игнорирования консоли?
Ответить с цитированием
  #6 (permalink)  
Старый 09.11.2020, 06:59
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Ну остается только в отладчике пройти эту функцию по шагам.
Ответить с цитированием
  #7 (permalink)  
Старый 09.11.2020, 07:34
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Да я уже сделал, отдельно. Но почему так? Если вместо вывода в консоль вставить alert(), то они срабатывают, показывают, закрываешь их и получаешь результат работы, никаких проблем. А вот на console.log словно табу наложено.
Ответить с цитированием
  #8 (permalink)  
Старый 09.11.2020, 11:43
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Возможно тот "шифровальщик", которым ты свой код "защищаешь" тупо вырезает console.log?
__________________
29375, 35
Ответить с цитированием
  #9 (permalink)  
Старый 09.11.2020, 11:47
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 641

если, например,

const response = await window.fetch(endpoint, config);
console.log('this wont console.log', await response.json());


если fetch не выполнился, т.е. "нет интернета", "респонс не содержит json" то консоль не будет печатать ), да...
Ответить с цитированием
  #10 (permalink)  
Старый 09.11.2020, 11:56
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

А если в консоли написать console.log(111), то сработает?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ленивая загрузка изображений через Promise. Цепочка. Duda.Ml1986@gmail.com Events/DOM/Window 11 12.02.2019 11:38
Как передать два значения внутрь promise js mystica Общие вопросы Javascript 2 18.11.2018 15:25
Порядок выполнения функций с Promise и без. Даниленко Денис Общие вопросы Javascript 0 29.04.2017 12:33
Как асинхронно вызвать resolve() вне Promise? Malleys Общие вопросы Javascript 8 18.12.2016 08:00
Обертка на console.log German Malinovskiy Общие вопросы Javascript 8 14.08.2012 17:58