разобрался ,ошибка в переменной LAST_ERROR ,НО почему возникает такая ошибка - и как её исправить??
Хренею от количества ошибок вида: TypeError: Result of expression '(VAR_VARIABLE).indexOf' [undefined] is not a function
-
Мой скрипт постоянно делает запросы по API (блок Node.js). РРаботает в 13 потоков. Спустя 4 суток работы я завершил скрипт и получил такой отчет об ошибках:
Удачно(0)
Неудач(0)Неудач и восстановлено(15959)
Сообщения:
9751 - TypeError: Result of expression '(VAR_OPEN).indexOf' [undefined] is not a function. во время выполнения действия
3147 - TypeError: Result of expression '(VAR_DEL).indexOf' [undefined] is not a function. во время выполнения действия
1594 - TypeError: Result of expression '(VAR_POST).indexOf' [undefined] is not a function. во время выполнения действия
1401 - ReferenceError: Can't find variable: VAR_RAZR во время выполнения действия
34 - TypeError: Result of expression '(VAR_MASSIV).indexOf' [undefined] is not a function. во время выполнения действия
18 - Таймаут во время выполнения функции на встроенном языке
5 - TypeError: Result of expression '(VAR_OPEN).indexOf' [undefined] is not a function. во время выполнения действия 668286231
2 - TypeError: Result of expression '(VAR_DEL).indexOf' [undefined] is not a function. во время выполнения действия 165193625
2 - OpenSSL SSL_connect: Connection was reset in connection to
2 - TypeError: Result of expression '(VAR_SUMM_PR).indexOf' [undefined] is not a function. во время выполнения действия
1 - TypeError: Result of expression '(VAR_POST).indexOf' [undefined] is not a function. во время выполнения действия 421419270
1 - Empty reply from serverСейчас меня больше всего интересует ошибка, которая встречается наиболее часто (обозначена в заголовке темы).
Вот эти ошибки:
5 - TypeError: Result of expression '(VAR_OPEN).indexOf' [undefined] is not a function. во время выполнения действия 668286231
2 - TypeError: Result of expression '(VAR_DEL).indexOf' [undefined] is not a function. во время выполнения действия 165193625
1 - TypeError: Result of expression '(VAR_POST).indexOf' [undefined] is not a function. во время выполнения действия 421419270
по id действия соответствуют действию "Перейти к метке". С чего вдруг это стало вызывать ошибку? Что посоветуете предпринять?
Самая главная проблема для меня тут в том, что API запросы в отдельных потоках спустя некоторое время перестают работать.Версия: 23.2.2
ОС: WINDOWS 7 -
@botovod, ошибка
TypeError: Result of expression '(VAR_VARIABLE).indexOf' [undefined] is not a functionзначит что в переменной к которой вы применяете.indexOf()содержится не строку и не массив. СвойствоindexOfимеют только строки и массивы. -
@UserTrue В ноде уже использую самую простую систему обработки ошибок. Привожу часть кода:
var req = https.request(options, (res) => { console.log('statusCode:', res.statusCode); console.log('headers:', res.headers); res.on('data', (d) => { console.log(d); resolve() }); res.on('error', (e) => { console.log('ошибка'); console.log(e); resolve() }); }); req.end(); req.on('error', (e) => { console.log('ошибка'); console.log(e); resolve() }); }));Т.е. на выходе с ноды я имею в переменную выводится либо ответ сервера либо ошибка сервера или ноды. Я думаю этого уже достаточно, чтобы нода не падала (но она все равно падает!). Поправьте меня, если я не прав.
-
@botovod возможно иногда приходит в ответ не то, что ожидается и это вызывает какую-то ошибоку в вашем коде. Кстати советую использовать библиотеки got или fetch для работы с http, это гораздо удобней чем нативный модуль
-
@UserTrue said in Хренею от количества ошибок вида: TypeError: Result of expression '(VAR_VARIABLE).indexOf' [undefined] is not a function:
советую использовать библиотеки got или fetch для работы с http, это гораздо удобней чем нативный модуль
Это сделает стабильнее работу ноды на ваш взгляд?
-
@botovod said in Хренею от количества ошибок вида: TypeError: Result of expression '(VAR_VARIABLE).indexOf' [undefined] is not a function:
Это сделает стабильнее работу ноды на ваш взгляд?
Это не имеет отношения к стабильности, это о удобстве.
-
@GhostZ said in Хренею от количества ошибок вида: TypeError: Result of expression '(VAR_VARIABLE).indexOf' [undefined] is not a function:
@botovod, ошибка TypeError: Result of expression '(VAR_VARIABLE).indexOf' [undefined] is not a function значит что в переменной к которой вы применяете .indexOf() содержится не строку и не массив. Свойство indexOf имеют только строки и массивы.
Если переменная к которой я применяю indexOf не является строкой или массивом, то она может быть только числом. Странно, ведь сервер в моем случае может возвращать только строковое значение, но никак не число.
Скрипт у меня сделан таким образом, что перед каждым API запросом я присваиваю переменной VARIABLE строковое значение 0. Бас после запроса должен присвоить этой переменной ответ сервера в виде строкового значения. Возможно, проблема в том, что БАС в ряде случаев воспринимает строку 0 как число 0 в том случае если нода упала или ответ не получен ?