Показать сообщение отдельно
  #10 (permalink)  
Старый 20.07.2016, 07:59
Интересующийся
Отправить личное сообщение для EnVires Посмотреть профиль Найти все сообщения от EnVires
 
Регистрация: 05.07.2016
Сообщений: 20

Сообщение от warren buffet Посмотреть сообщение
На js нет лимита рекурсии, это не пехепе, ограничения определяет сам браузер, какие у кого тут http://stackoverflow.com/questions/7...ack-size-limit

Но самый тупняк в том, что ты состаришься и твои внуки уже состарятся, пока стек переполнится в этой рекурсивной функции, которая запускает сама себя _после_ ответа сервера. Сервер-то отвечает за секунды, а не за микросекунды.
что же,на node.js этот код
var findSomeItem = function findSomeItem(y, callback) {

    if (y < global_Items.length) {
        if (global_Items[y]['market_name'].indexOf(iteam) != -1 &&
            global_Items[y]['market_name'].indexOf('Сувенирный')== -1 &&
            global_Items[y]['market_name'].indexOf('Сувенир')== -1) {

            console.log(global_Items[y]['market_name']);
            var iditeam = global_Items[y]['classid'] + '_' + global_Items[y]['instanceid'];
            
            getItem(iditeam, function(err, datak) {
                if (!err) {					
                    found = true;
                    name = global_Items[y]['market_name'];
                    price = datak['min_price'];
                    hash = datak['hash'];
                    callback();
                } else {
                    findSomeItem(y + 1, callback);
                }
            });
        } else {
            findSomeItem(y + 1, callback);
        }
    } else {
        callback();
    }
};

findSomeItem(0, function() {
    // здесь выполняем дальнейший код, поиск завершен
    // ..
});

выдает ошибку Maximum call stack size exceeded
Ответить с цитированием