Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Цепочка вызовов с таймаутом. (https://javascript.ru/forum/misc/14558-cepochka-vyzovov-s-tajjmautom.html)

Kolyaj 24.01.2011 15:09

Есть такое понятие: асинхронная функция. Это функция, которая не возвращает значение в return, а передаёт его, вызывая свой аргумент.

function load(url, callback) {
    // Тут делает запрос на сервер, после чего вызывается callback
    callback(result);
}


Вызывается это, соответственно
load('/url.php', function(html) {
    alert(html);
});


"Цепочки вызовов", соответственно, просто увеличивают вложенность, избавиться от которых можно именованными функциями.

Jurasmi 24.01.2011 15:17

Цитата:

Есть такое понятие: асинхронная функция
Да, я использую такую функцию.
Собственно вопрос исчерпан господа, задача выполнена.
Но вот тем, у кого есть варианты реализации "отложенных цепочек вызовов" будет моё огромное спасибо :)

x-yuri 24.01.2011 16:52

Цитата:

Сообщение от Jurasmi
У меня была конкретная задача - сделать заполнение формы на сайте. Т.е. я жму кнопочку, на сервер лезет запрос, возвращает данные, которые подставляються в HTML-форму и у же только потом эта форма появляеться на страничке (заполненная как надо).

это не по-человечески. Зачем пользователю ждать пока ты там чего-то с сервера скачаешь? Или почему ее сразу нельзя заполнить как надо?

Jurasmi 24.01.2011 17:04

Цитата:

Зачем пользователю ждать пока ты там чего-то с сервера скачаешь? Или почему ее сразу нельзя заполнить как надо?
Потому что я не знаю заранее как будет выглядеть форма (как она будет заполнена) - форма будет заполнена в зависимости от того что сделает пользователь.
Можно грузить все варианты заполнения формы сразу и уже потом, без запроса сервера, по действию пользователя, показывать соответствующую информацию, но мне показалось лучше будет подгружать небольшими "дозами" по мере необходимости.

x-yuri 24.01.2011 17:27

а от каких действий зависит содержимое формы и о каких формах идет речь?

Jurasmi 24.01.2011 17:33

Мне надо редактировать объекты на странице.
Есть список объектов (например, это заказ - там имя, фамилия, всякие данные) и вот по нажатию мне надо открыть этот объект и редактировать его.

x-yuri 24.01.2011 23:27

но ведь список состоит из однотипных объектов? Т.е. ты на страничке уже знаешь как будет выглядеть форма для этого списка, и данные объекта

а отправляешь форму тоже ajax'ом?

вообще, если список довольно простой, можно сделать редактирование элементов прямо на месте, без диалоговых окон

Jurasmi 25.01.2011 11:15

Цитата:

а отправляешь форму тоже ajax'ом?
Нет, обычным submit формы.
Цитата:

если список довольно простой, можно сделать редактирование элементов прямо на месте, без диалоговых окон
Список-то простой (то, как он на страничке выглядит), но вот редактировать можно много всяких полей.

x-yuri 25.01.2011 17:18

примеры редактируемых списков можно посмотреть здесь

если полей больше, чем столбцов в списке, можно в диалоговом окне редактировать. Но в любом случае, если делаешь редактирование на той же страничке, то и форму отправляй ajax'ом

кроме того, можно сделать редактирование на отдельной страничке (перешел на страничку редактирования, изменил, вернулся назад)

и почитай про unobtrusive javascript


Часовой пояс GMT +3, время: 22:36.