ФорумПрограммированиеJavaScript → Даж и не знаю как назвать

Даж и не знаю как назвать

  • Dash

    Сообщения: 7 Репутация: N Группа: Кто попало

    Spritz 30 октября 2010 г. 14:55

    Допустим у меня есть метод в классе с названием addOne(). и есть некий метод load() куда на вход подается название ф-ии callback и внутри мне его надо вызвать. Т.е. я хочу сделать load и запустить addOne() в конце. пришлось реализовать так

    arm.prototype.load = function(callback) {
    //тут просисходит подгрузка виджета;

    // а тут идет вызов callback функции
    eval('this.' + callback +'();');
    }

    Но вот сраный eval меня никак не возбуждает. Так вопрос собственно в том как вызвать метод класса, в методе load, получив на входе его название в виде строки? Не используя eval
  • Абырвалг

    Сообщения: 6476 Репутация: N Группа: Джедаи

    Spritz 31 октября 2010 г. 6:03, спустя 15 часов 8 минут 20 секунд

    this[callback]();
  • Dash

    Сообщения: 7 Репутация: N Группа: Кто попало

    Spritz 31 октября 2010 г. 8:52, спустя 2 часа 48 минут 24 секунды


    this[callback]();


    Не работает
  • ЗлобныйТролль

    Сообщения: 50 Репутация: N Группа: Кто попало

    Spritz 1 ноября 2010 г. 11:55, спустя 1 день 3 часа 3 минуты

    код в студию.
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 2 ноября 2010 г. 16:18, спустя 1 день 4 часа 23 минуты

    Dash, ознакомься с этим - http://javascript.ru/unsorted/async
  • ЗлобныйТролль

    Сообщения: 50 Репутация: N Группа: Кто попало

    Spritz 11 ноября 2010 г. 10:07, спустя 8 дней 18 часов 49 минут

    Dash, а что есть callBack - метод инстанса OrderARM? Если да, тогда

    _this[callBack](data);


    если просто некая функция, тогда

    callBack(data);
  • phpdude

    Сообщения: 26632 Репутация: N Группа: в ухо

    Spritz 11 ноября 2010 г. 10:09, спустя 1 минуту 38 секунд

    а я давно знаю решение "проблемы", только это не проблема, а неправильная архитектура :)
    Сапожник без сапог
  • rider-sx

    Сообщения: 2706 Репутация: N Группа: Адекваты

    Spritz 11 ноября 2010 г. 12:24, спустя 2 часа 14 минут 48 секунд

    callback() не?))
  • Dash

    Сообщения: 7 Репутация: N Группа: Кто попало

    Spritz 25 ноября 2010 г. 4:48, спустя 13 дней 16 часов 24 минуты

    phpdude, я знаю что неверная. Просто когда весь геммор всплыл то было уже поздно (нарисовалась добавочка к ТЗ которая в корне перевепнула весь ф-л) т.к. тут было написано "многа букаф", а на рефакторинг времени нет. Вот и задал вопрос, как реализовать в таком виде, но без eval. Я понимаю что нужно было обернуть в обертку где был бы стэк колбэков который бы отрабатывался после всех запросов, да и процентов 70 я бы уже сейчас переделал. Да и структуру объекта нужно было бо поменять полностью но время не позволяет.

    rider-sx, object.callback() и object[callback]() - не

Пожалуйста, авторизуйтесь, чтобы написать комментарий!