@genericname1 said in Callback is empty. Did you forget to use '!' after function?:
applying touch mode triggers the issue
Which version of BAS are you using? In version 29.4.1, the problem does not recur.
Мой скрипт постоянно делает запросы по 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 в том случае если нода упала или ответ не получен ?