| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: для новичков > Как функцию в функции по завершению передать |
| Автор: Viroman 7.10.2008, 20:40 |
| Вот вопрос, имею предположим функцию, теперь я хочу чтобы функция вызывала другую функцию, но в качестве переданного параметра! То есть function show(id,func2) где func2, это функция, которая должна выполниться по завершению этой функции, но ясное дело, чтобы она как бы в качестве параметра передавалась. Как сделать, мне просто после каждой загрузки в аякс надо в зависимости, в какой div и что я гружу по окончании загрузки выполнять свою желаемую функцию. Подумалось мне, нежели я буду отпрашивать название айди, куда содержание аякс ответа должно грузиться, и раздувать код, да ёщё делая его медленней, было бы идеальнее передавать название функции, которая должна выполниться по завершению через параметр. Можно ли? |
| Автор: Nigel 7.10.2008, 21:40 | ||
Типо так?
|
| Автор: Viroman 7.10.2008, 22:37 |
| Типа так не хотелось бы, типа так раздувать не хочется, если, да кабы, слишком много функций можно напихать на отпрос, а кокретнее можно? |
| Автор: Hades 7.10.2008, 22:54 |
| http://habrahabr.ru/blogs/javascript/27170/ |
| Автор: ksnk 7.10.2008, 23:33 | ||
| Hades, Боюсь, что здесь не тот клинический случай, который описан в статье. Viroman, А зачем передавать название? Саму функцию тоже можно спокойно передавать...
|
| Автор: Viroman 8.10.2008, 06:43 |
| Друзья, давайте организуем мозговую атаку, представим себе аякс скрипт. Теперь послали мы запрос в аяксфункцию, как правило тот действует так, функция, далее указание на айди див элемента, куда содержание должно загрузиться и собственно ссылка на то, что должно загрузиться, теперь если глянем в аякс скрипт повнимательней, то там увидим, onreadystatechange, или прочие название говорящие о том, что данные были получены, но эти данные тем самым сразу не попадают в окно див элемента, а заносятся через innerHTML, значит фишка в том, что функция, которую я хочу, чтобы та была выполнена, должна выполниться только после того, как содержание будет подкачено в див элемент и ни секундой раньше, мне не надо вызывать функцию, прежде чем эти данные в окно элемента див попадут, но поскольку скрипт один, а див элементов много, и много функций, которые должны выполняться по поданию содержания аякс запроса в див элемент, то разумнее всего представить себе нечто, типа аякс функции, где помимо указания на айди див элемта и ссылки, также будет находиться параметр, куда передаётся название функции, которая должна выполниться по завершению, однако без ухищрений, типа если этот параметр зовётся так, делай то, если так, то делай это, мне реально нужно, чтобы тот выполнялся как функция из под названия параметра, а не под if/else отпрос.. |
| Автор: ksnk 8.10.2008, 08:19 |
| Viroman, вместо мозговой атаки и воображения себе велосипеда можно посмотреть на готовые решения. Все они работают с понятием callback-функция, простейший пример которой я привел. Вызывать функцию по имени - такого я не видел ни в одной библиотеке |
| Автор: Viroman 8.10.2008, 20:02 | ||
Да вы что, серьёзно? Вау, и вариабельное количество параметров тоже можно передавать, вау, а как??? |
| Автор: ksnk 8.10.2008, 22:32 | ||
C переменным числом параметров несколько сложнее
|
| Автор: Viroman 9.10.2008, 13:04 |
| Spasibo! Neskolko uhitschrennee, no tem ne menee, spasibo! |