Referencia de ActionScript® 3.0 para la plataforma de Adobe® Flash®
Inicio  |  Ocultar lista de paquetes y clases |  Paquetes  |  Clases  |  Novedades  |  Índice  |  Apéndices  |  ¿Por qué hay texto en inglés?
Filtros: AIR 30.0 y versiones anteriores, Flash Player 30.0 y versiones anteriores, Flash Lite 4
Flex 4.6 y versiones anteriores, Flash Pro CS6 y versiones anteriores
Ocultar filtros
flash.system 

MessageChannel  - AS3

Paquetesx

Nivel superior
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

Elementos del lenguaje

Constantes globales
Funciones globales
Operadores
Sentencias, palabras clave y directivas
Tipos especiales

Apéndices

Novedades
Errores del compilador
Advertencias del compilador
Errores en tiempo de ejecución
Migración a ActionScript 3
Conjuntos de caracteres admitidos
Solo etiquetas MXML
Elementos Motion XML
Etiquetas de texto temporizado
Lista de elementos desfasados
Constantes de implementación de accesibilidad
Cómo utilizar ejemplos de ActionScript
Avisos legales
Paqueteflash.system
Clasepublic final class MessageChannel
HerenciaMessageChannel Inheritance EventDispatcher Inheritance Object

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11.4, AIR 3.4

La clase MessageChannel proporciona un mecanismo para que un programa de trabajo pueda comunicarse con otro. Un canal de mensajes es un canal de comunicación unidireccional. El programa de trabajo emisor del canal de mensajes utiliza el canal de mensajes para enviar objetos al programa de trabajo receptor. Un objeto MessageChannel es el único modo de enviar un mensaje entre programas de trabajo; distribuye un evento para indicar al receptor que el mensaje está disponible. Otros mecanismos para enviar datos permiten definir un valor, pero no proporcionan un evento para notificar sobre los datos modificados.

Cada objeto MessageChannel contiene una cola de objetos de mensaje enviados del programa de trabajo emisor al programa de trabajo receptor. Cada llamada a send() añade un objeto a la cola. Cada llamada a receive() recupera el objeto de mensaje más antiguo de la cola.

No es posible crear instancias de MessageChannel directamente llamando al constructor MessageChannel(). Para crear una instancia de MessageChannel, llame al método createMessageChannel() del objeto Worker que enviará mensajes en el canal, y transfiera como argumento el objeto Worker receptor.

El flujo de trabajo típico para enviar mensajes con un objeto MessageChannel es el siguiente:

  1. Llame al método createMessageChannel() del programa de trabajo emisor para crear el canal de mensajes

        // In the sending worker swf
        var sendChannel:MessageChannel;
        sendChannel = Worker.current.createMessageChannel(receivingWorker);
  2. Transfiera el canal de mensajes al otro programa de trabajo, bien llamando a Worker.setSharedProperty() o enviándolo a través del canal de mensajes existente

        receivingWorker.setSharedProperty("incomingChannel", sendChannel);
  3. El código del programa de trabajo receptor registra un detector con el objeto MessageChannel para el evento channelMessage

        // In the receiving worker swf
        var incomingChannel:MessageChannel;
        incomingChannel = Worker.current.getSharedProperty("incomingChannel");
        incomingChannel.addEventListener(Event.CHANNEL_MESSAGE, handleIncomingMessage);
  4. El código del programa de trabajo emisor envía un mensaje llamando al método send()

        // In the sending worker swf
        sendChannel.send("This is a message");
  5. El motor de ejecución llama al controlador de eventos en el código del programa de trabajo receptor para indicar que se ha enviado un mensaje

        // In the receiving worker swf
        // This method is called when the message channel gets a message
        private function handleIncomingMessage(event:Event):void
        {
            // Do something with the message, as shown in the next code listing
        }
  6. El código del programa de trabajo receptor llama al método receive() para obtener el mensaje. El objeto devuelto por el método receive() tiene el mismo tipo de datos que el objeto transferido al método send().

        var message:String = incomingChannel.receive() as String;

Además del flujo de trabajo asincrónico detallado anteriormente, puede utilizar uno alternativo con el método receive() para poner en pausa el código en el programa de trabajo receptor y esperar a que se envíe un mensaje. Consulte la descripción del método receive() para obtener más información.

La clase MessageChannel es uno de los tipos de objeto especiales que comparten programas de trabajo en vez de copiarlo entre ellos. Cuando se transfiere un canal de mensajes de un programa de trabajo a otro, bien llamando al método setSharedProperty() del objeto Worker o utilizando un objeto MessageChannel, los dos programas de trabajo tienen una referencia al mismo objeto MessageChannel en la memoria del motor de ejecución.

Elementos de API relacionados



Propiedades públicas
 PropiedadDefinido por
 Inheritedconstructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
Object
  messageAvailable : Boolean
[solo lectura] Indica si el objeto MessageChannel tiene uno o más mensajes del programa de trabajo emisor en su cola de mensajes interna.
MessageChannel
  state : String
[solo lectura] Indica el estado actual del objeto MessageChannel (abierto, cerrándose o cerrado).
MessageChannel
Métodos públicos
 MétodoDefinido por
  
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
[override] Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento.
MessageChannel
  
Indica al MessageChannel actual que debe cerrarse cuando se hayan recibido todos los mensajes.
MessageChannel
 Inherited
Distribuye un evento en el flujo del evento.
EventDispatcher
 Inherited
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento.
EventDispatcher
 Inherited
Indica si un objeto tiene definida una propiedad especificada.
Object
 Inherited
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
Object
 Inherited
Indica si existe la propiedad especificada y si es enumerable.
Object
  
receive(blockUntilReceived:Boolean = false):*
Recupera un único objeto de mensaje de la cola de mensajes enviados a través de este canal de mensajes.
MessageChannel
  
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
[override] Elimina un detector del objeto EventDispatcher.
MessageChannel
  
send(arg:*, queueLimit:int = -1):void
Envía una mensaje desde el programa de trabajo emisor y lo añade a la cola de mensajes para el programa de trabajo receptor.
MessageChannel
 Inherited
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
Object
 Inherited
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional.
Object
  
[override] Devuelve la representación de cadena del objeto especificado.
MessageChannel
 Inherited
Devuelve el valor simple del objeto especificado.
Object
 Inherited
Comprueba si hay registrado un detector de eventos con este objeto EventDispatcher o con cualquiera de sus ascendientes para el tipo de evento concreto.
EventDispatcher
Eventos
 Evento Resumen Definido por
 Inherited[evento broadcast] Se distribuye cuando Flash Player o AIR pasan a estar activos.EventDispatcher
  Se distribuye cada vez que el programa de trabajo emisor llama a este método send() del objeto MessageChannel para indicar que hay un nuevo objeto de mensaje disponible en la cola de la instancia de MessageChannel.MessageChannel
  Se distribuye cuando cambia el valor de la propiedad state del canal de mensajes.MessageChannel
 Inherited[evento broadcast] Se distribuye cuando Flash Player o de AIR pasan a estar inactivos.EventDispatcher
Información sobre propiedades

messageAvailable

propiedad
messageAvailable:Boolean  [solo lectura]

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11.4, AIR 3.4

Indica si el objeto MessageChannel tiene uno o más mensajes del programa de trabajo emisor en su cola de mensajes interna.



Implementación
    public function get messageAvailable():Boolean

state

propiedad 
state:String  [solo lectura]

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11.4, AIR 3.4

Indica el estado actual del objeto MessageChannel (abierto, cerrándose o cerrado). Los valores posibles de esta propiedad se definen como constantes en la clase MessageChannelState.



Implementación
    public function get state():String

Elementos de API relacionados

Información sobre métodos

addEventListener

()método
override public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11.4, AIR 3.4

Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento. Puede registrar detectores de eventos en todos los nodos de la lista de visualización para un tipo concreto de evento, fase y prioridad.

Una vez registrado correctamente un detector de eventos, no puede cambiar su prioridad mediante llamadas adicionales a addEventListener(). Para cambiar la prioridad de un detector, en primer lugar debe llamar a removeListener(). Seguidamente, puede volver a registrar el nuevo nivel de prioridad.

Recuerde que, una vez registrado el detector, las siguientes llamadas a addEventListener() con un valor type o useCapture distinto tendrán como resultado la creación de un registro independiente del detector. Por ejemplo, si registra primero un detector con useCapture definido como true, detectará únicamente durante la fase de captura. Si vuelve a llamar a addEventListener() con el mismo objeto detector, pero con useCapture definido como false, tendrá dos detectores independientes: uno que detecta durante la fase de captura y otro que lo hace durante las fases de destino y de propagación.

No es posible registrar un detector de eventos únicamente para la fase de destino o la fase de propagación. Dichas fases se acoplan durante el registro, ya que la propagación sólo se aplica a los ascendientes del nodo de destino.

Si ya no necesita ningún detector de eventos, elimínelo llamando a removeEventListener(); de lo contrario, podrían surgir problemas de memoria. Los detectores de eventos no se eliminan automáticamente de la memoria, ya que el recolector de datos innecesarios no elimina el detector siempre que el objeto distribuido exista (a no ser que el parámetro useWeakReference se establezca en true).

Al copiar una instancia EventDispatcher no se copian los detectores de eventos asociados. (Si el nodo recién creado necesita un detector de eventos, debe asociarlo después de crear el nodo.) Sin embargo, si mueve una instancia EventDispatcher, los detectores de eventos asociados se moverán también.

Si el detector de eventos se registra en un nodo mientras se procesa un evento en dicho nodo, el detector de eventos no se desencadenará durante la fase actual, aunque sí se desencadenará en una fase posterior del flujo del evento, por ejemplo, en la fase de propagación.

Si un detector de eventos se elimina de un nodo mientras se procesa un evento en dicho nodo, las acciones actual seguirán desencadenándolo. Una vez eliminado, el detector de eventos ya no se vuelve a invocar nunca más (a no ser que se registre de nuevo para otro proceso).

Parámetros

type:String — El tipo de evento.
 
listener:Function — La función del detector que procesa el evento. Esta función debe aceptar un objeto de evento como parámetro único y no debe devolver ningún valor, tal como indica el siguiente ejemplo:
function(evt:Event):void

La función puede tener cualquier nombre.

 
useCapture:Boolean (default = false)Determina si el detector funciona en la fase de captura o en las fases de destino y de propagación. Si useCapture se define como true, el detector procesa el evento sólo durante la fase de captura y no en las fases de destino o propagación. Si useCapture es false, el detector procesa el evento sólo durante la fase de destino o de propagación. Para detectar el evento en las tres fases, llame dos veces a addEventListener, una con useCapture establecido en true y, después, otra con useCapture definido como false.
 
priority:int (default = 0) — El nivel de prioridad del detector de eventos. La prioridad viene designada por un entero de 32 bits sin signo. Cuanto mayor sea el número, mayor será la prioridad. Todos los detectores con prioridad n se procesan antes que los detectores con prioridad n-1. Si dos o más detectores comparten la misma prioridad, se procesarán en el orden en el que se añadieron. La prioridad predeterminada es 0.
 
useWeakReference:Boolean (default = false) — Determina si la referencia al detector es fuerte o débil. Una referencia fuerte (valor predeterminado) impide que el detector sea eliminado por el recolector de datos innecesarios. Una referencia débil no lo hace.

Las funciones de miembros de clase no están sujetas a la recolección de elementos no utilizados, por lo que useWeakReference se puede definir como true para estas funciones sin que estos elementos se vean sujetos a la recolección de elementos no utilizados. Si useWeakReference se establece en true para un detector que sea una función interior anidada, la función se recogerá como dato innecesario y no volverá a ser persistente. Si se crean referencias a la función interior (guárdela en otra variable), no se recogerá como dato innecesario y seguirá siendo persistente.

close

()método 
public function close():void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11.4, AIR 3.4

Indica al MessageChannel actual que debe cerrarse cuando se hayan recibido todos los mensajes.

Cuando se llama a este método, ya no es posible llamar al método send() para añadir mensajes a la cola. La llamada a send() fallará y devolverá false.

También puede llamar solo al método receive() para recibir mensajes que ya estén esperando en la cola. Si la cola está vacía, la llamada a receive() devolverá null.


Eventos
channelState:Event — se distribuye cuando se llama al método close() (que establece la propiedad state en MessageChannelState.CLOSING). Se vuelve a distribuir cuando se han recibido todos los mensajes y la propiedad state se establece en MessageChannelState.CLOSED.

receive

()método 
public function receive(blockUntilReceived:Boolean = false):*

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11.4, AIR 3.4

Recupera un único objeto de mensaje de la cola de mensajes enviados a través de este canal de mensajes.

Cada vez que el código del programa de trabajo llama al método send() del objeto MessageChannel, se añade un único objeto a la cola de mensajes interna del canal de mensajes. Estos objetos se apilan en la cola hasta que el programa de trabajo receptor los elimina uno a uno mediante llamadas al método receive(). Los objetos de mensaje se reciben en el orden en el que se envían.

Para comprobar si la cola contiene un objeto de mensaje para recibir, utilice la propiedad messageAvailable.

En un caso habitual, el objeto transferido a send() se serializa en formato AMF3. Cuando se elimina de la cola mediante la llamada a receive(), se deserializa en un objeto de ActionScript (una copia del objeto original) en el programa de trabajo receptor y el programa de trabajo recibe una referencia a dicha copia. Determinados tipos de objetos se comparten entre programas de trabajo en vez de copiarse. En dicho caso, el objeto que obtiene el programa de trabajo receptor es una referencia al propio objeto compartido en vez de una nueva copia del objeto. Para obtener más información sobre este caso, consulte la descripción del método send().

El comportamiento del método cambia si la cola de mensajes está vacía y se transfiere true para el parámetro blockUntilReceived. En ese caso, el programa de trabajo pone en pausa su subproceso de ejecución en la llamada a receive() y no ejecuta más código. Cuando el programa de trabajo emisor llama a send(), la llamada a receive() finaliza con la recepción del mensaje. Seguidamente, el programa de trabajo reanuda la ejecución del código en la siguiente línea de código posterior a la llamada a receive.

Parámetros

blockUntilReceived:Boolean (default = false) — indica si el subproceso de ejecución del programa de trabajo debe recibir un objeto de mensaje y después proseguir con la ejecución (false), o si debe ponerse en pausa en la llamada a receive() y esperar a que se envíe un mensaje si la cola está vacía (true)

Valor devuelto
* — una copia del objeto transferido al método send() por el programa de trabajo emisor. Si el objeto es de uno de los tipos especiales que se comparten entre programas de trabajo, el valor devuelto es una referencia al objeto compartido en vez de una copia. Si no hay ningún mensaje disponible en la cola, el método devuelve null.

Emite
IOError — si el canal está cerrado en el momento en que se llama al método o si el argumento blockUntilReceived produce como resultado la pausa de la ejecución y el canal se cierra a cargo de otro programa de trabajo.
 
ArgumentError — si el código de la llamada no se encuentra en el programa de trabajo receptor
 
ScriptTimeoutError — si se llama al método desde el código en el programa de trabajo primordial en Flash Player y el argumento blockUntilReceived hace que el programa de trabajo se ponga en pausa más allá del tiempo límite de inactividad del script (de forma predeterminada, 15 segundos)

Elementos de API relacionados

removeEventListener

()método 
override public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11.4, AIR 3.4

Elimina un detector del objeto EventDispatcher. Si no hay ningún detector coincidente registrado con el objeto EventDispatcher, la llamada a este método no surtirá ningún efecto.

Parámetros

type:String — El tipo de evento.
 
listener:Function — El objeto detector que se va a eliminar.
 
useCapture:Boolean (default = false)Especifica si el detector se registró para la fase de captura o para las fases de destino y de propagación. Si el detector se registró tanto para la fase de captura como para las fases de destino y de propagación, se necesitarán dos llamadas a removeEventListener() para eliminar ambos detectores: una llamada con useCapture() definido como true y otra llamada con useCapture() establecido en false.

send

()método 
public function send(arg:*, queueLimit:int = -1):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11.4, AIR 3.4

Envía una mensaje desde el programa de trabajo emisor y lo añade a la cola de mensajes para el programa de trabajo receptor.

El objeto transferido al parámetro arg puede ser prácticamente cualquier objeto. Salvo por las excepciones siguientes, cualquier objeto transferido al parámetro arg no se transfiere por referencia. Cualquier cambio realizado en el objeto de un programa de trabajo después de llamar a send() no se transmite al otro programa de trabajo. El objeto se copia mediante su serialización a formato AMF3 y deserializándolo después en un nuevo objeto en el programa de trabajo receptor cuando se llama a receive(). Por este motivo, cualquier objeto que no pueda serializarse en formato AMF3, incluidos los objetos de visualización, no se podrán transferir al parámetro arg. Para que una clase personalizada se pueda transferir correctamente, la definición de la clase debe registrarse con la función flash.net.registerClassAlias() o los metadatos [RemoteClass]. Con cualquiera de las dos técnicas, se debe utilizar el mismo alias para ambas versiones del programa de trabajo de la clase.

Existen cinco tipos de objetos que sirven de excepción a la regla que dicta que los objetos no se comparten entre programas de trabajo:

  • El programa de trabajo 
  • MessageChannel
  • ByteArray compartible (un objeto ByteArray con su propiedad shareable establecida en true
  • Mutex
  • Condición

Si se transfiere una instancia de estos objetos al parámetro arg, cada programa de trabajo tendrá una referencia al mismo objeto subyacente. Los cambios realizados en la instancia de un programa de trabajo estarán disponibles inmediatamente en los demás programas de trabajo. Además, si transfiere la misma instancia de estos objetos más de una vez con send(), el motor de ejecución no creará una copia nueva del objeto en el programa de trabajo receptor. En su lugar, se reutilizará la misma referencia para reducir así el uso de memoria del sistema.

De forma predeterminada, este método añade el objeto a la cola y lo devuelve inmediatamente para proseguir con la ejecución de la siguiente línea de código. Si desea evitar que la cola crezca por encima de un tamaño determinado, puede utilizar el parámetro queueLimit para especificar el número máximo de elementos permitidos en la cola. Si en el momento de la llamada a send() el número de elementos de la cola es mayor que el límite especificado, el programa de trabajo pondrá en pausa el subproceso de ejecución en la llamada a send(). Cuando el programa de trabajo receptor llama a receive() el número suficiente de veces para conseguir que el tamaño de la cola quede por debajo del límite especificado, la llamada a send() finaliza. Seguidamente, el programa de trabajo continúa con la ejecución de la siguiente línea de código.

Parámetros

arg:* — el objeto que se añade a la cola de mensajes
 
queueLimit:int (default = -1) — el número máximo de objetos de mensaje que puede contener la cola de mensajes. Si el número de mensajes de la cola supera el límite permitido, el programa de trabajo emisor pone en pausa la ejecución hasta que dejan de recibirse mensajes y el tamaño de la cola vuelve a estar por debajo del límite.


Eventos
channelMessage:Event — se distribuye para indicar al programa de trabajo receptor que hay un objeto de mensaje disponible en la cola

Emite
IOError — si el canal está cerrado en el momento en que se llama al método o si el argumento queueLimit produce como resultado la pausa de la ejecución y el canal se cierra a cargo de otro programa de trabajo.
 
ArgumentError — si el código de llamada no se encuentra en el programa de trabajo emisor
 
ScriptTimeoutError — si se llama al método desde el código en el programa de trabajo primordial en Flash Player y el argumento queueLimit hace que el programa de trabajo se ponga en pausa más allá del tiempo límite de inactividad del script (de forma predeterminada, 15 segundos)

Elementos de API relacionados

toString

()método 
override public function toString():String

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11.4, AIR 3.4

Devuelve la representación de cadena del objeto especificado.

Nota: los métodos de la clase Object se crean dinámicamente en el prototipo de Object. Para redefinir este método en una subclase de Object, no utilice la palabra clave override. Por ejemplo, una subclase de Object implementa function toString():String en lugar de utilizar una sustitución de la clase base.

Valor devuelto
String — Una representación de cadena del objeto.
Información sobre eventos

channelMessage

Evento
Tipo de objeto de evento: flash.events.Event
propiedad Event.type = flash.events.Event.CHANNEL_MESSAGE

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11.4, AIR 3.4

Se distribuye cada vez que el programa de trabajo emisor llama a este método send() del objeto MessageChannel para indicar que hay un nuevo objeto de mensaje disponible en la cola de la instancia de MessageChannel.

La constante Event.CHANNEL_MESSAGE define el valor de la propiedad type para un objeto de evento channelMessage.

Este evento tiene las propiedades siguientes:

PropiedadValor
bubblesfalse
cancelablefalse; no hay ningún comportamiento predeterminado que cancelar.
currentTargetObjeto que procesa de forma activa el objeto de evento con un detector de eventos.
targetEl objeto que inició este evento.

channelState

Evento  
Tipo de objeto de evento: flash.events.Event
propiedad Event.type = flash.events.Event.CHANNEL_STATE

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: Flash Player 11.4, AIR 3.4

Se distribuye cuando cambia el valor de la propiedad state del canal de mensajes.

La constante Event.CHANNEL_STATE define el valor de la propiedad type de un objeto de evento channelState.

Este evento tiene las propiedades siguientes:

PropiedadValor
bubblesfalse
cancelablefalse; no hay ningún comportamiento predeterminado que cancelar.
currentTargetObjeto que procesa de forma activa el objeto de evento con un detector de eventos.
targetEl objeto que inició este evento.




[ X ]¿Por qué hay texto en inglés?
Cierto contenido de la Referencia de ActionScript 3.0 se muestra en inglés

No todo el contenido de la Referencia de ActionScript 3.0 se traduce a todos los idiomas. Si un elemento del lenguaje no se traduce, aparecerá en inglés. Por ejemplo, la clase ga.controls.HelpBox no está traducida en ningún idioma. Por lo tanto, en la versión en español de la referencia, la clase ga.controls.HelpBox aparecerá en inglés.