Общение



Асинхронный вызов


Можно вызывать удаленные методы асинхронно - клиентский скрипт продолжает работать пока серверный метод исполняется и следовательно страница остается доступной для пользователя.

Вызов серверного метода асинхронно схож с синхронным вызовом, за исключением появления дополнительных параметров при вызове:

  • Ссылка на callback функцию в клиентском скрипте, которая вызывается при успешном завершении работы серверного метода.
  • Ссылка на error callback функцию, которая вызывается при возникновении ошибки
  • Необязательные контекстные параметры. Эти данные просто вернутся обратно по окончании работы серверного метода.

    Как и при синхронном вызове, асинхронный вызов создает объект call, содержащий результат работы серверного метода и дополнительную статусную информацию.

  • При асинхронном вызове объект call передается в callback функцию в качестве параметра. Следовательно, вы можете проверить статус вызова и получить результат работы метода.

    Так как при асинхронном вызове необходимо передать ссылку на callback функцию, то используется только JavaScript.

    Для вызова серверного метода асинхронно:

  • Если вы создали page объект, то используется следующая форма вызова.

    callObject = ASPObject.methodName(p1, p2[,...], callbackFunction, errorCallbackFunction, context);

  • В противном случае используется RSExecute() функция:

    callobject = RSExecute(url, methodName, p1, p2[,...], callbackFunction, errorCallbackFunction, context)

    Где:

    • callobject - имя call объекта;
    • ASPObject - объект ссылающийся на ASP страницу;
    • url - URL ASP страницы содержащей описание серверных методов. Эта страница должна находится на том же сервере, что и страница осуществляющая вызов;
    • methodName - имя метода, который вы хотите исполнить;
    • p1, p2 - параметры необходимые для вызова methodName метода. Параметра передаются по значению. В качестве параметров могут быть переданы значения простых типов.
    • callbackFunction - ссылка на JavaScript функцию в клиентском скрипте, которая будет вызвана, когда удаленный метод окончит работу.


      Содержание  Назад  Вперед