watchUtils
require(["esri/core/watchUtils"], function(watchUtils) { /* code goes here */ });
esri/core/watchUtils
Various utilities and convenience functions for watching Accessor properties.
Method Overview
Name | Return Type | Summary | Object | |
---|---|---|---|---|
WatchHandle | Watches a property for changes and calls the callback with the initial value of the property. more details | more details | watchUtils | |
WatchHandle | Watches a property for changes and automatically attaches and detaches an event handler for a given event to the property value as needed. more details | more details | watchUtils | |
PromisedWatchHandle | Watches a property for changes once. more details | more details | watchUtils | |
PausableWatchHandle | Watches a property for changes. more details | more details | watchUtils | |
WatchHandle | Watches a property for changes. more details | more details | watchUtils | |
WatchHandle | Watches a property for becoming truthy. more details | more details | watchUtils | |
WatchHandle | Watches a property for becoming | more details | watchUtils | |
PromisedWatchHandle | Watches a property for becoming | more details | watchUtils | |
WatchHandle | Watches a property for becoming | more details | watchUtils | |
PromisedWatchHandle | Watches a property for becoming | more details | watchUtils | |
WatchHandle | Watches a property for becoming falsy. more details | more details | watchUtils | |
PromisedWatchHandle | Watches a property for becoming falsy once. more details | more details | watchUtils | |
PromisedWatchHandle | Watches a property for becoming truthy once. more details | more details | watchUtils | |
WatchHandle | Watches a property for becoming | more details | watchUtils | |
PromisedWatchHandle | Watches a property for becoming | more details | watchUtils | |
WatchHandle | Watches a property for becoming | more details | watchUtils | |
PromisedWatchHandle | Watches a property for becoming | more details | watchUtils |
Method Details
Watches a property for changes and calls the callback with the initial value of the property.
Parameters:obj AccessorThe object containing the property to watch.
The name of the property to watch.
callback watchCallbackThe function to call with the initial value of the property when the property changes.
Returns:Type Description WatchHandle A watch handle.
Watches a property for changes and automatically attaches and detaches an event handler for a given event to the property value as needed.
The attachedHandler and detachedHandler are optional and if provided will be called whenever the event handler is attached and detached respectively.
Parameters:obj AccessorThe object containing the property to watch.
The name of the property to watch.
eventName StringThe name of the event to attach the event handler for.
eventHandler FunctionThe event handler callback function.
attachedHandler EventAttachedCallbackoptionalCallback called each time the event handler is attached.
detachedHandler EventAttachedCallbackoptionalCallback called each time the event handler is detached.
Returns:Type Description WatchHandle A watch handle.
Watches a property for changes once. The returned watch handle is removed after the first time the callback has been invoked.
The returned handle additionally implements the Promise interface and can be used to create a promise chain to asynchronously handle a property value becoming truthy. The promise result is an object containing a
value
,oldValue
,propertyName
andtarget
.Parameters:obj AccessorThe object containing the property to watch.
The name of the property to watch.
callback watchCallbackoptionalThe function to call when the property changes.
Returns:Type Description PromisedWatchHandle A watch handle which implements the Promise interface.
Watches a property for changes. The returned handle can be paused (and resumed) to temporarily prevent the callback from being called on property changes.
Parameters:obj AccessorThe object containing the property to watch.
The name of the property to watch.
callback watchCallbackoptionalThe function to call when the property changes.
Returns:Type Description PausableWatchHandle A pausable watch handle.
Watches a property for changes. This is an alias for Accessor.watch(), provided for completeness.
Parameters:obj AccessorThe object containing the property to watch.
The name of the property to watch.
callback watchCallbackThe function to call when the property changes.
Returns:Type Description WatchHandle A watch handle. - See also:
Watches a property for becoming truthy. As with watchUtils, the callback is called initially if the property is initially truthy.
Parameters:obj AccessorThe object containing the property to watch.
The name of the property to watch.
callback watchCallbackThe function to call when the property changes.
Returns:Type Description WatchHandle A watch handle.
Watches a property for becoming
defined
. As with init(), the callback is called if the property is initially defined.Parameters:obj AccessorThe object containing the property to watch.
The name of the property to watch.
callback watchCallbackThe function to call when the property changes.
Returns:Type Description WatchHandle A watch handle.
Watches a property for becoming
defined
once. As with init(), the callback is called if the property is initiallydefined
. The returned watch handle is removed after the first time the callback has been invoked.The returned handle additionally implements the Promise interface and can be used to create a promise chain to asynchronously handle a property value becoming defined. The promise result is an object containing a
value
,oldValue
,propertyName
andtarget
.Parameters:obj AccessorThe object containing the property to watch.
The name of the property to watch.
callback watchCallbackoptionalThe function to call when the property changes.
Returns:Type Description PromisedWatchHandle A watch handle which implements the Promise interface.
Watches a property for becoming
false
. As with init(), the callback is called if the property is initiallyfalse
.Parameters:obj AccessorThe object containing the property to watch.
The name of the property to watch.
callback watchCallbackThe function to call when the property changes.
Returns:Type Description WatchHandle A watch handle.
Watches a property for becoming
false
once. As with init(), the callback is called if the property is initiallyfalse
. The returned watch handle is removed after the first time the callback has been invoked.The returned handle additionally implements the Promise interface and can be used to create a promise chain to asynchronously handle a property value becoming false. The promise result is an object containing a
value
,oldValue
,propertyName
andtarget
.Parameters:obj AccessorThe object containing the property to watch.
The name of the property to watch.
callback watchCallbackoptionalThe function to call when the property changes.
Returns:Type Description PromisedWatchHandle A watch handle which implements the Promise interface.
Watches a property for becoming falsy. As with watchUtils, the callback is called initially if the property is initially falsy.
Parameters:obj AccessorThe object containing the property to watch.
The name of the property to watch.
callback watchCallbackThe function to call when the property changes.
Returns:Type Description WatchHandle A watch handle.
Watches a property for becoming falsy once. As with init(), the callback is called if the property is initially falsy. The returned watch handle is removed after the first time the callback has been invoked.
The returned handle additionally implements the Promise interface and can be used to create a promise chain to asynchronously handle a property value becoming falsy. The promise result is an object containing a
value
,oldValue
,propertyName
andtarget
.Parameters:obj AccessorThe object containing the property to watch.
The name of the property to watch.
callback watchCallbackoptionalThe function to call when the property changes.
Returns:Type Description PromisedWatchHandle A watch handle which implements the Promise interface.
Watches a property for becoming truthy once. As with init(), the callback is called if the property is initially truthy. The returned watch handle is removed after the first time the callback has been invoked.
The returned handle additionally implements the Promise interface and can be used to create a promise chain to asynchronously handle a property value becoming truthy. The promise result is an object containing a
value
,oldValue
,propertyName
andtarget
.Parameters:obj AccessorThe object containing the property to watch.
The name of the property to watch.
callback watchCallbackoptionalThe function to call when the property changes.
Returns:Type Description PromisedWatchHandle A watch handle which implements the Promise interface.
Watches a property for becoming
true
. As with init(), the callback is called if the property is initiallytrue
.Parameters:obj AccessorThe object containing the property to watch.
The name of the property to watch.
callback watchCallbackThe function to call when the property changes.
Returns:Type Description WatchHandle A watch handle.
Watches a property for becoming
true
once. As with init(), the callback is called if the property is initiallytrue
. The returned watch handle is removed after the first time the callback has been invoked.The returned handle additionally implements the Promise interface and can be used to create a promise chain to asynchronously handle a property value becoming true. The promise result is an object containing a
value
,oldValue
,propertyName
andtarget
.Parameters:obj AccessorThe object containing the property to watch.
The name of the property to watch.
callback watchCallbackoptionalThe function to call when the property changes.
Returns:Type Description PromisedWatchHandle A watch handle which implements the Promise interface.
Watches a property for becoming
undefined
. As with init(), the callback is called if the property is initiallyundefined
.Parameters:obj AccessorThe object containing the property to watch.
The name of the property to watch.
callback watchCallbackThe function to call when the property changes.
Returns:Type Description WatchHandle A watch handle.
Watches a property for becoming
undefined
once. As with init(), the callback is called if the property is initiallyundefined
. The returned watch handle is removed after the first time the callback has been invoked.The returned handle additionally implements the Promise interface and can be used to create a promise chain to asynchronously handle a property value becoming undefined. The promise result is an object containing a
value
,oldValue
,propertyName
andtarget
.Parameters:obj AccessorThe object containing the property to watch.
The name of the property to watch.
callback watchCallbackoptionalThe function to call when the property changes.
Returns:Type Description PromisedWatchHandle A watch handle which implements the Promise interface.
Type Definitions
- EventAttachedCallback(target, propName, obj, eventName)
Callback to be called when a event handler is either attached or detached.
Parameters:target *optionalThe target object where the event handle is attached to.
propName StringoptionalThe watched property.
obj AccessoroptionalThe watched object.
eventName StringoptionalThe event name.
- PausableWatchHandleObject
Represents a watch created when an object invokes watch().
- Properties:
- remove Function
Removes the watch handle.
pause FunctionPauses the handle preventing changes to invoke the associated callback.
resume FunctionResumes a paused the handle.
Example:var handle = watchUtils.pausable(map, 'basemap', function(newVal){ // Each time the value of map.basemap changes, it is logged in the console console.log("new basemap: ", newVal); }); // When pause() is called on the watch handle, the callback represented by the // watch is no longer invoked, but is still available for later use handle.pause(); // When resume() is called on the watch handle, the callback resumes // firing each time the watched property changes. handle.resume(); // When remove() is called on the watch handle, the map no longer watches for changes to basemap handle.remove();
- PromisedWatchHandleObject
Represents a watch implementing the Promise interface, created when using any of the
watchOnce
utility functions.- Properties:
- remove Function
Removes the watch handle.
always FunctionAdds a callback to be invoked when the promise is resolved or rejected.
cancel FunctionRemoves the watch handle and informs the deferred it may cancel its asynchronous operation.
isCanceled FunctionChecks whether the promise has been canceled.
isFulfilled FunctionChecks whether the promise is resolved or rejected.
isRejected FunctionChecks whether the promise is rejected.
isResolved FunctionChecks whether the promise is resolved.
otherwise FunctionAdds a callback to be invoked when the promise is rejected.
then FunctionAdds a callback to be invoked when the promise is resolved.
Example:// Animate to the fullExtent of the first layer as soon as the view is // ready. watchUtils.whenOnce(view, "ready") .then(function(result) { // Ensure the layer is loaded before accessing its fullExtent return view.map.layers.getItemAt(0).load(); }) .then(function(layer) { // Animate to the full extent of the layer return view.goTo(layer.fullExtent); }) .then(function() { // Animation is finished here console.log("Animation to first layer extent is finished"); });