ISubscription<TFunc>
Interface
A subscription. Used to subscribe callbacks to events.
Type parameters
| Name | Type | 
|---|---|
TFunc | extends Function | 
Methods
subscribe
Subscribe a callback function to this event. Subscribed callbacks are called when the event fires.
Example
// Log 'Series data loaded!' to the console the next time the data loaded event fires and then unsubscribe automatically.
seriesApi.onDataLoaded().subscribe(null, () => { console.log('Series data loaded!'); }, true);
Subscribe to an event within a class. Manually unsubscribe when some condition is true.
class Example {
  constructor(seriesApi) {
    this._seriesApi = seriesApi;
    this._seriesApi.onDataLoaded().subscribe(this, this._onDataLoaded);
  }
  _onDataLoaded() {
    // Do something in response to the event.
    if (someUnsubscribeCondition) {
      this._seriesApi.onDataLoaded().unsubscribe(this, this._onDataLoaded);
    }
  }
}
Signature
subscribe(obj: object, member: TFunc, singleshot?: boolean) => void
Parameters
| Name | Type | Description | 
|---|---|---|
| obj | object | Object used as the this value bound to the callback function. | 
| member | TFunc | Function called when the event is fired. | 
| singleshot? | boolean | true if the subscription should be automatically removed after the first time it is fired. | 
Returns
void
unsubscribe
Unsubscribe a previously subscribed callback function.
It is important that the obj and member arguments are the same as the ones passed when the callback was subscribed.
Signature
unsubscribe(obj: object, member: TFunc) => void
Parameters
| Name | Type | Description | 
|---|---|---|
| obj | object | Object passed as the this value when the callback was subscribed. | 
| member | TFunc | Function subscribed to the event. | 
Returns
void
unsubscribeAll
Unsubscribe all callbacks that were subscribed with the same obj value.
Example
// Unsubscribe all three callback functions at once in the `destroy` method.
class Example {
  constructor(seriesApi) {
    this._seriesApi = seriesApi;
    this._seriesApi.onDataLoaded().subscribe(this, this._callback1);
    this._seriesApi.onDataLoaded().subscribe(this, this._callback2);
    this._seriesApi.onDataLoaded().subscribe(this, this._callback3);
  }
  destroy() {
    this._seriesapi.onDataLoaded().unsubscribeAll(this);
  }
  _callback1() { ... }
  _callback2() { ... }
  _callback3() { ... }
}
Signature
unsubscribeAll(obj: object) => void
Parameters
| Name | Type | Description | 
|---|---|---|
| obj | object | obj value passed when the callbacks were subscribed. | 
Returns
void