ГлавнаяСправка по использованию серверного ActionScriptКласс SharedObject › SharedObject.onSync()

SharedObject.onSync()

so.onSync = function(list){}

Срабатывает, как только в общем объекте происходят изменения. Для того, что бы воспользоваться onSync() нужно определить функцию, которая бы управляла изменениями, внесенными в общий объект подписчиками.

Для проксированных общих объектов, определяется функция для получения статуса изменений внесенных сервером и другими подписчиками.

Примечание: В серверном ActionScript нельзя определить обработчик onSync() как prototype свойство класса SharedObject.

Доступно с версии сервера

Flash Communication Server 1

Параметры

list

Массив объектов, содержащий информацию о свойствах общего объекта измененных со времени последнего вызова обработчика onSync(). Для проксированых общих объектов, извещения отличаются от извещений общих объектов принадлежащих локальному экземпляру приложения. В следующей таблице описаны коды событий для локальных общих объектов:

Локальный код

Пояснение

change

Свойство было изменено подписчиком.

delete

Свойство было удалено подписчиком.

name

Имя свойства, которое было удалено или изменено.

oldValue

Старое значение свойства. Истинно для обоих change и delete сообщений; на клиенте, oldValue не установлено для delete.

Примечание: На стороне серверного кода, изменение или удаление свойства с помощью метода SharedObject.setProperty() всегда проходит успешно, поэтому оповещений о таких изменениях не приходит.

В следующей таблице описаны коды событий для проксированых общих объектов:

Проксированный код

Пояснение

success

Изменения, внесенные сервером в общий объект были приняты.

reject

Изменения, внесенные сервером в общий объект были отклонены. Значения на удалённом экземпляре не изменялись.

change

Свойство было изменено другим подписчиком.

delete

Свойство было удалено. Это оповещение может возникнуть в случаи если сервер удаляет общий объект или другой подписчик удаляет какое либо свойство.

clear

Все свойства общего объекта были удалены. Это может случится когда серверный общий объект теряет синхронизацию с главным (master) общим объектом или когда постоянный общий объект переносится с одного экземпляра на другой. Обычно это событие следует за change сообщением для восстановления всех свойств серверного общего объекта.

name

Имя свойства которое изменилось или было удалено.

oldValue

Старое значение свойства. Это действует только для кодов reject, change, и delete.

Примечание: Обработчик SharedObject.onSync() срабатывает, когда общий объект успешно синхронизировался с сервером. Если в общем объекте нету изменений, объект list может быть пустым.

Пример

Следующий пример демонстрирует функцию, срабатывающую всякий раз когда свойство общего объекта so меняется:

// Создадим новый объект NetConnection. 
nc = new NetConnection(); 
nc.connect("rtmp://server1.xyx.com/myApp"); 
// Создадим общий объект. 
so = SharedObject.get("MasterUserList", true, nc); 
// Параметр list это массив объектов содержащий информацию
// об успешно или неуспешно измененных свойствах
// from the last time onSync() was called. 
so.onSync = function(list) { 
    for (var i = 0; i < list.length; i++) { 
        switch (list[i].code ) { 
            case "success": 
                trace ("success"); 
                break; 
            case "change": 
                trace ("change"); 
                break; 
            case "reject": 
                trace ("reject"); 
                break; 
            case "delete": 
                trace ("delete"); 
                break; 
            case "clear": 
                trace ("clear"); 
                break; 
        } 
    } 
};

Остальные методы и свойства

Ярлыки: , ,

  1. Пока без комментариев.
  1. Пока нету.