Общение


Асинхронный вызов - часть 2


Т. к. вы передаете ссылку, не включайте имя функции в кавычки.
  • errorCallbackFunction - ссылка на необязательную JavaScript функцию в клиентском скрипте, которая будет вызвана, если при работе удаленного метода произойдет ошибка. Т. к. вы передаете ссылку, не включайте имя функции в кавычки.
  • context - необязательные параметры вызова, эти данные вернутся обратно.

    Например, в следующем скрипте асинхронно вызывается серверный метод square. После работы метода вызывается функция showResults(). Имя операции передается как context-параметр.

    <script language = "JavaScript" for = "btnSquare" event = "onclick"> rsMath = RSGetASPObject("../myPages/RSMath.asp"); number1 = txt1.value; context = "squaring"; co = rsMath.square(number1,showResults,context); </script>

    Аналогичный пример с использованием RSExecute метода:

    <script language = "JavaScript" for = "btnSquare" event = "onclick"> number1 = txt1.value; context = "squaring"; co = RSExecute("RSmath.asp","square",number1,showResults,context); </script>

    Функция showResults, которая является callback функций в предыдущем примере, может выглядеть следующим образом:

    <script language = "JavaScript"> function showResults(co) { typeOp = co.context; rValue = co.return_value; txt2.value = "Result of " + typeOp + "operation = " + rValue; } </script>

    В данном случае callback функция служит для вывода результата работы операции. Функция демонстрирует, как вы можете использовать context свойство для определения того, какая операция арифметическая применялась.

    Вы можете проверить состояние работы удаленного метода. При асинхронном вызове, можно проверить состояние работы серверного метода. Для этого используется свойства status объекта call Возможные значения свойства status:

    • -1 - произошла ошибка
    • 0 - работа завершена
    • 1 - в процессе (только для асинхронного вызова)

    Асинхронный вызов можно прервать, для этого используется cancel() метод объекта call.




    Начало  Назад  Вперед



    Книжный магазин