Referenshandbok för ActionScript® 3.0 i Adobe® Flash®-plattformen
Hem  |  Dölj paket och klasslista |  Paket  |  Klasser  |  Nyheter  |  Index  |  Bilagor  |  Varför på engelska?
Filter: AIR 30.0 och tidigare, Flash Player 30.0 och tidigare, Flash Lite 4
Flex 4.6 och tidigare, Flash Pro CS6 och tidigare
Dölj filter
flash.system 

MessageChannel  - AS3

Paketx

Översta nivån
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

Språkelement

Globala konstanter
Globala funktioner
Operatorer
Programsatser, nyckelord och direktiv
Specialtyper

Bilagor

Nyheter
Kompilatorfel
Kompileringsvarningar
Körningsfel
Flytta till ActionScript 3
Teckenuppsättningar som stöds
Endast MXML-taggar
Motion XML-element
Timed Text-taggar
Lista över borttagna element
Konstanter för hjälpmedelsimplementering
Använda ActionScript-exempel
Juridiska meddelanden
Paketflash.system
Klasspublic final class MessageChannel
ArvMessageChannel Inheritance EventDispatcher Inheritance Object

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11.4, AIR 3.4

Klassen MessageChannel erbjuder en metod för en arbetare att kommunicera med en annan arbetare. En meddelandekanal är en kanal med envägskommunikation. Meddelandekanalens skickande arbetare använder meddelandekanalen för att skicka objekt till den mottagande arbetaren. Ett MessageChannel-objekt är det enda sättet att skicka ett meddelade mellan arbetare som skickar en händelse som indikerar för mottagaren att meddelandet är tillgängligt. Andra metoder för att dela data tillåter att ett värde ställs in men de innehåller ingen händelse för att meddela dig om dataförändringen.

Varje MessageChannel-objekt innehåller en kö med meddelandeobjekt som skickats från den avsändande arbetaren till den mottagande arbetaren. För varje anrop av send() läggs ett objekt till i kön. För varje anrop av receive() hämtas det äldsta meddelandeobjektet från kön.

Du kan inte skapa MessageChannel-förekomster direkt genom att anropa MessageChannel ()-konstruktorn. Om du vill skapa en MessageChannel-instans anropar du metoden createMessageChannel() för Worker-objektet som i sin tur skickar meddelanden i kanalen, med det mottagande Worker-objektet som ett argument.

Här följer ett vanligt arbetsflöde för att skicka meddelanden med ett MessageChannel-objekt:

  1. Anropa den skickande arbetarens createMessageChannel()-metod för att skapa meddelandekanalen

        // In the sending worker swf
        var sendChannel:MessageChannel;
        sendChannel = Worker.current.createMessageChannel(receivingWorker);
  2. Skicka meddelandekanalen till den andra arbetaren antingen genom att anropa Worker.setSharedProperty() eller genom att genom att skicka den via en befintlig meddelandekanal

        receivingWorker.setSharedProperty("incomingChannel", sendChannel);
  3. Kod i den mottagande arbetaren registrerar en avlyssnare med MessageChannel-objektet för channelMessage-händelsen

        // In the receiving worker swf
        var incomingChannel:MessageChannel;
        incomingChannel = Worker.current.getSharedProperty("incomingChannel");
        incomingChannel.addEventListener(Event.CHANNEL_MESSAGE, handleIncomingMessage);
  4. Kod i den avsändande arbetaren skickar ett meddelande genom att anropa metoden send()

        // In the sending worker swf
        sendChannel.send("This is a message");
  5. I miljön anropas händelsehanteraren i den mottagande arbetarens kod för att visa att ett meddelande har skickats

        // 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. Kod i den mottagande arbetaren anropar metoden receive() för att hämta meddelandet. Objektet som returneras av metoden receive() har samma datatyp som objektet som skickas till metoden send().

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

Förutom det asynkrona arbetsflödet som beskrivs ovan kan du använda ett alternativt arbetsflöde med metoden receive() för att pausa koden i den mottagande arbetaren och vänta tills ett meddelande skickas. Mer information finns i metodbeskrivningen för receive().

Klassen MessageChannel är en av de speciella objekttyper som delas mellan arbetare i stället för att kopieras mellan dem. När du skickar en meddelandekanal från en arbetare till en annan arbetare, antingen genom att anropa Worker-objektets setSharedProperty()-metod eller genom att använda ett MessageChannel-objekt, kommer båda arbetarna att ha en referens till samma MessageChannel-objekt i miljöns minne.

Relaterade API-element



Publika egenskaper
 EgenskapDefinieras med
 Inheritedconstructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans.
Object
  messageAvailable : Boolean
[skrivskyddad] Anger om MessageChannel innehåller ett eller flera meddelanden från den avsändande arbetaren i dess interna meddelandekö.
MessageChannel
  state : String
[skrivskyddad] Anger aktuellt läge för objektet MessageChannel (öppen, stänger eller stängd).
MessageChannel
Publika metoder
 MetodDefinieras med
  
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
[åsidosätt] Registrerar ett händelseavlyssnarobjekt för ett EventDispatcher-objekt så att avlyssnaren får meddelanden om händelser.
MessageChannel
  
Instruerar aktuell MessageChannel att den ska stängas när alla meddelanden har tagits emot.
MessageChannel
 Inherited
Skickar en händelse till händelseflödet.
EventDispatcher
 Inherited
Kontrollerar om EventDispatcher-objektet har några avlyssnare registrerade för en viss typ av händelse.
EventDispatcher
 Inherited
Anger om det finns en egenskap angiven för ett objekt.
Object
 Inherited
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter.
Object
 Inherited
Anger om den angivna egenskapen finns och är uppräkningsbar.
Object
  
receive(blockUntilReceived:Boolean = false):*
Hämtar ett enskilt meddelandeobjekt från meddelandekön vilket skickats genom denna meddelandekanal.
MessageChannel
  
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
[åsidosätt] Tar bort en avlyssnare från EventDispatcher-objektet.
MessageChannel
  
send(arg:*, queueLimit:int = -1):void
Skickar ett objekt från den avsändande arbetaren och lägger till det i meddelandekön för den mottagande arbetaren.
MessageChannel
 Inherited
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder.
Object
 Inherited
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner.
Object
  
[åsidosätt] Returnerar det angivna objektets strängbeteckning.
MessageChannel
 Inherited
Returnerar det angivna objektets primitiva värde.
Object
 Inherited
Kontrollerar om en händelseavlyssnare är registrerad för det här EventDispatcher-objektet eller något av dess överordnade objekt för den angivna händelsetypen.
EventDispatcher
Händelser
 Händelse Sammanfattning Definieras med
 Inherited[utsändningshändelse] Skickas när Flash Player eller AIR får operativsystemfokus och blir aktivt.EventDispatcher
  Skickas varje gång som den avsändande arbetaren anropar detta MessageChannel-objekts send()-metod, vilket indikerar att ett nytt meddelandeobjekt är tillgängligt i MessageChannel-instansens kö.MessageChannel
  Skickas när värdet på meddelandekanalens state-egenskap ändras.MessageChannel
 Inherited[utsändningshändelse] Skickas när Flash Player eller AIR förlorar operativsystemfokus och blir inaktivt.EventDispatcher
Egenskapsdetaljer

messageAvailable

egenskap
messageAvailable:Boolean  [skrivskyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11.4, AIR 3.4

Anger om MessageChannel innehåller ett eller flera meddelanden från den avsändande arbetaren i dess interna meddelandekö.



Implementering
    public function get messageAvailable():Boolean

state

egenskap 
state:String  [skrivskyddad]

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11.4, AIR 3.4

Anger aktuellt läge för objektet MessageChannel (öppen, stänger eller stängd). De möjliga värdena för den här egenskapen är definierade som konstanter i klassen MessageChannelState.



Implementering
    public function get state():String

Relaterade API-element

Metoddetaljer

addEventListener

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11.4, AIR 3.4

Registrerar ett händelseavlyssnarobjekt för ett EventDispatcher-objekt så att avlyssnaren får meddelanden om händelser. Du kan registrera händelseavlyssnare på alla noder i visningslistan efter en särskild typ av händelse, fas och prioritet.

När du har registrerat en händelseavlyssnare går det inte att ändra dess prioritet genom ytterligare anrop till addEventListener(). För att kunna ändra avlyssnarens prioritet måste du först anropa removeListener(). Sedan går det att registrera avlyssnaren på nytt med den nya prioritetsnivån.

Kom ihåg att när avlyssnaren har registrerats så skapar anrop till addEventListener() med annan type eller useCapture-värde en separat avlyssnarregistrering. Om du till exempel först registrerar en avlyssnare med useCapture inställt på true, avlyssnar den bara under hämtningsfasen. Om du anropar addEventListener() igen med samma avlyssningsobjekt men med useCapture inställt på false, får du två separata avlyssnare: en som avlyssnar under hämtningsfasen och en som avlyssnar under både mål- och bubblingsfasen.

Det går inte att registrera en händelseavlyssnare endast för målfasen eller bubblingsfasen. De faserna är sammankopplade vid registreringen eftersom bubblande bara tillämpas på de som är överordnade målnoden.

Om du inte längre behöver en händelseavlyssnare tar du bort den genom att anropa removeEventListener(). Annars finns risk för minnesproblem. Händelseavlyssnare tas inte automatiskt bort från minnet, eftersom skräpinsamlaren inte tar bort avlyssnaren så länge det skickande objektet finns (om inte parametern useWeakReference är true).

Kopiering av en EventDispatcher-instans innebär inte att de händelseavlyssnare som är kopplade till den kopieras. (Om en nod som du nyss skapat behöver en händelseavlyssnare måste du koppla avlyssnaren efter att du skapat noden.) Om du däremot flyttar en EventDispatcher-instans flyttas den kopplade händelseavlyssnaren med.

Om händelseavlyssnaren är registrerad på en nod samtidigt som en händelse bearbetas på den noden aktiveras inte händelseavlyssnaren under den aktuella fasen, men den kan aktiveras under en senare fas i händelseflödet, t.ex. bubblingsfasen.

Om en händelseavlyssnare tas bort från en nod samtidigt som en händelse bearbetas på den noden, aktiveras den ändå av de aktuella åtgärderna. När händelseavlyssnaren tagits bort anropas den aldrig mer (om den inte registreras på nytt för framtida bearbetning).

Parametrar

type:String — Händelsens typ.
 
listener:Function — Avlyssnarfunktionen som bearbetar händelsen. Den här funktionen måste acceptera ett Event-objekt som sin enda parameter och får inte returnera någonting, se följande exempel:
function(evt:Event):void

Funktionen kan ha vilket namn som helst.

 
useCapture:Boolean (default = false)Avgör om avlyssnaren fungerar i hämtningsfasen eller mål- och bubblingsfaserna. Om useCapture är inställd på true bearbetar avlyssningsprocessen bara händelsen under hämtningsfasen och inte under mål- eller bubblingsfasen. Om useCapture är inställd på false bearbetar avlyssningsprocessen bara händelsen under mål- och bubblingsfasen. Om du vill avlyssna händelsen under alla tre faserna anropar du addEventListener två gånger, en gång med useCapture inställd på true, och sedan en gång med useCapture inställd på false.
 
priority:int (default = 0) — Händelseavlyssnarens prioritetsnivå. Prioriteten anges av ett 32-bitars heltal med tecken. Ju högre tal, desto högre prioritet. Alla avlyssnare med prioritet n bearbetas före avlyssnare med prioritet n -1. Om två eller fler avlyssnare har samma prioritet bearbetas de i den ordning de lades till. Standardprioritet är 0.
 
useWeakReference:Boolean (default = false) — Avgör om referensen till avlyssnaren är stark eller svag. En stark referens (standard) förhindrar att avlyssnaren skräpsamlas. Det gör inte en svag referens.

Medlemsfunktioner på klassnivå skräpsamlas inte, så du kan ange useWeakReference till true för medlemsfunktioner på klassnivå utan att de skräpsamlas. Om du anger useWeakReference till true för en avlyssnare som är en inkapslad funktion kommer funktionen att skräpsamlas och inte längre vara beständig. Om du skapar referenser till den inre funktionen (sparar den i en annan variabel) skräpsamlas den inte utan förblir beständig.

close

()metod 
public function close():void

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11.4, AIR 3.4

Instruerar aktuell MessageChannel att den ska stängas när alla meddelanden har tagits emot.

När du anropar den här metoden kan du inte längre anropa metoden send() för att lägga till meddelanden i kön. Anropet med send() kommer att misslyckas och returnera false.

Du kan också anropa metoden receive() för att erhålla meddelanden som redan väntar i kön. Om kön är tom kommer receive()-anropet att returnera null.


Händelser
channelState:Event — skickas när metoden close() anropas (medför att egenskapen state åsätts värdet MessageChannelState.CLOSING). Skickas när alla meddelanden har tagits emot och egenskapen state är MessageChannelState.CLOSED.

receive

()metod 
public function receive(blockUntilReceived:Boolean = false):*

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11.4, AIR 3.4

Hämtar ett enskilt meddelandeobjekt från meddelandekön vilket skickats genom denna meddelandekanal.

Varje gång den avsändande arbetarens kod anropar MessageChannel-objektets send()-metod, läggs ett objekt till i meddelandekanalens interna meddelandekö. Dessa objekt staplas i kön tills de tas bort ett i taget genom att den mottagande arbetaren anropar metoden receive(). Meddelandeobjekten tas emot i den ordning som de skickades.

Använd egenskapen messageAvailable om du vill kontrollera om kön innehåller ett meddelandeobjekt som ska tas emot.

I vanliga fall är objektet som överförs till send() serialiserat i AMF3-formatet. När det tagits bort från kön med anropet receive() kommer det att avserialiseras till ett ActionScript-objekt (en kopia av originalobjektet) i den mottagande arbetaren och arbetaren erhåller en referens till den kopian. Vissa typer av objekt delas mellan arbetare i stället för att kopieras. I detta fall är det objekt som den mottagande arbetaren erhåller en referens till det delade objektet i stället för en ny kopia av det. Mer information om detta finns i metodbeskrivningen för send().

Metodens beteende ändras om meddelandekön är tom och du skickar true för blockUntilReceived-parametern. I detta fall pausar arbetaren programmet vid receive()-anropet och ingen ytterligare kod körs. När den avsändande arbetaren anropar send(), slutförs receive()-anropet genom att meddelandet tas emot. Arbetaren kommer sedan att återta kodkörningen vid nästa kodrad som följer efter anropet.

Parametrar

blockUntilReceived:Boolean (default = false) — anger om arbetarens program ska erhålla ett meddelandeobjekt och sedan fortsätta körningen (false) eller om det ska pausas vid receive()-anropet och vänta på att ett meddelande skickas om kön är tom (true)

Returnerar
* — en kopia av objektet som skickas till metoden send() av den avsändande arbetaren. Om objektet är den typ av objekt som delas mellan arbetare, är det returnerade värdet en referens till det delade objektet och inte en kopia därav. Om inga meddelanden är tillgängliga i kön returnerar metoden null.

Utlöser
IOError — om kanalen är stängd när metoden anropas eller om argumentet blockUntilReceived resulterar i att körningen pausas och att kanalen sedan stängs av en annan arbetare.
 
ArgumentError — om den anropande koden inte finns i den mottagande arbetaren
 
ScriptTimeoutError — om metoden anropas från koden i den primitiva arbetaren i Flash Player och argumentet blockUntilReceived orsakar att arbetaren pausar längre än timeout-gränsen för skriptet (15 sekunder som standard)

Relaterade API-element

removeEventListener

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

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11.4, AIR 3.4

Tar bort en avlyssnare från EventDispatcher-objektet. Ett anrop till den här metoden har ingen effekt om det inte finns någon matchande avlyssnare registrerad för EventDispatcher-objektet.

Parametrar

type:String — Händelsens typ.
 
listener:Function — Det avlyssnarobjekt som ska tas bort.
 
useCapture:Boolean (default = false)Anger om avlyssnaren registrerades för hämtningsfasen eller mål- och bubblingsfaserna. Om avlyssnaren registrerades både för hämtningsfasen och mål- och bubblingsfaserna krävs två anrop till removeEventListener() för att båda ska tas bort: ett anrop med useCapture() inställt på true och ett annat anrop med useCapture() inställt på false.

send

()metod 
public function send(arg:*, queueLimit:int = -1):void

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11.4, AIR 3.4

Skickar ett objekt från den avsändande arbetaren och lägger till det i meddelandekön för den mottagande arbetaren.

Objektet som skickas till parametern arg kan näst intill vara vilket objekt som helst. Förutom undantagen enligt nedan skickas inte alla objekt till parametern arg som referens. Alla ändringar som görs av objektet i en arbetare, efter det att send() har anropats, vidarekopplas inte till den andra arbetaren. Objektet kopieras genom att det serialiseras till AMF3-format och avserialiseras till ett nytt objekt i den mottagande arbetaren när receive() anropas. Detta medför att objekt som inte kan serialiseras till AMF3-format, inklusive visningsobjekt, inte kan skickas till parametern arg. För att en anpassad klass ska kunna skickas måste klassdefinitionen registreras med flash.net.registerClassAlias()-funktionen eller med [RemoteClass]-metadata. Oberoende av teknik måste samma alias användas för båda arbetarnas versioner av klassen.

Det finns fem typer av objekt som utgör undantag från regeln att objekt inte delas mellan arbetare:

  • Arbetare 
  • MessageChannel
  • Delbar ByteArray (ett ByteArray-objekt med dess shareable-egenskap inställd på true
  • Mutex
  • Condition

Om du skickar en instans av dessa objekt till parametern arg får varje arbetare en referens till samma underliggande objekt. Ändringar gjorda i en instans i en arbetare är omedelbart tillgängliga i en annan arbetare. Om du dessutom skickar samma instans av dessa objekt mer än en gång med send(), kommer ingen ny kopia av objektet att skapas för den mottagande arbetaren i miljön. I stället återanvänds samma referens för att minimera systemminnesbelastningen.

Det vanliga är att denna metod lägger till objektet i kön och returnerar det omedelbart, för att fortsätta körningen med nästa kodrad. Om du vill förhindra att kön växer utöver en viss storlek använder du parametern queueLimit för att ange maximalt antal objekt som ska tillåtas i kön. Om antalet objekt i kön är större när du anropar send() än det gränsvärde du angav, kommer arbetaren att pausa körningen av huvudprogrammet vid send()-anropet. Anropet send() kommer att slutföras när den mottagande arbetaren anropat receive() tillräckligt många gånger så att kön minskat under gränsvärdet. Arbetaren forstätter sedan körningen från nästa kodrad.

Parametrar

arg:* — objektet som ska läggas till i meddelandekön
 
queueLimit:int (default = -1) — maximalt antal meddelandeobjekt som meddelandekön kan innehålla. Om kön innehåller fler objekt än gränsvärdet, kommer den avsändande arbetaren att pausa körningen tills meddelanden tas emot och köstorleken minskar under gränsvärdet.


Händelser
channelMessage:Event — skickas för att meddela mottagande arbetare att ett meddelandeobjekt är tillgängligt i kön

Utlöser
IOError — om kanalen är stängd när metoden anropas eller om argumentet queueLimit resulterar i att körningen pausas och att kanalen sedan stängs av en annan arbetare.
 
ArgumentError — om den anropande koden inte finns i den skickande arbetaren
 
ScriptTimeoutError — om metoden anropas från koden i den primitiva arbetaren i Flash Player och argumentet queueLimit orsakar att arbetaren pausar längre än timeout-gränsen för skriptet (15 sekunder som standard)

Relaterade API-element

toString

()metod 
override public function toString():String

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11.4, AIR 3.4

Returnerar det angivna objektets strängbeteckning.

Obs! Metoder till Object-klassen skapas dynamiskt på objektets prototyp. Om du vill definiera om metoden i en underklass till Object-klassen ska du inte använda nyckelordet override. En underklass till klassen Object implementerar till exempel function toString():String i stället för att åsidosätta basklassen.

Returnerar
String — En strängbeteckning på objektet.
Händelsedetaljer

channelMessage

Händelse
Typ av händelseobjekt: flash.events.Event
egenskap Event.type = flash.events.Event.CHANNEL_MESSAGE

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11.4, AIR 3.4

Skickas varje gång som den avsändande arbetaren anropar detta MessageChannel-objekts send()-metod, vilket indikerar att ett nytt meddelandeobjekt är tillgängligt i MessageChannel-instansens kö.

Konstanten Event.CHANNEL_MESSAGE definierar värdet på type-egenskapen i ett channelMessage-händelseobjekt.

Den här händelsen har följande egenskaper:

EgenskapVärde
bubblesfalse
cancelablefalse; det finns inget standardbeteende att avbryta.
currentTargetDet objekt som aktivt behandlar Event-objektet med en händelseavlyssnare.
targetDet objekt som skickade den här händelsen.

channelState

Händelse  
Typ av händelseobjekt: flash.events.Event
egenskap Event.type = flash.events.Event.CHANNEL_STATE

Språkversion: ActionScript 3.0
Körningsmiljöversioner: Flash Player 11.4, AIR 3.4

Skickas när värdet på meddelandekanalens state-egenskap ändras.

Konstanten Event.CHANNEL_STATE definierar värdet på type-egenskapen i ett channelState-händelseobjekt.

Den här händelsen har följande egenskaper:

EgenskapVärde
bubblesfalse
cancelablefalse; det finns inget standardbeteende att avbryta.
currentTargetDet objekt som aktivt behandlar Event-objektet med en händelseavlyssnare.
targetDet objekt som skickade den här händelsen.




[ X ]Varför på engelska?
Innehåll i Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen är på engelska

Det är inte alla delar av Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen som översätts till alla språk. Om ett språkelement inte översätts visas det på engelska. Klassen ga.controls.HelpBox översätts till exempel inte till något språk. I den svenska versionen av referenshandboken visas därför klassen ga.controls.HelpBox på engelska.