diff --git a/src/CoreOperators.ts b/src/CoreOperators.ts index cc47bdefe5..bd24d5c175 100644 --- a/src/CoreOperators.ts +++ b/src/CoreOperators.ts @@ -28,7 +28,7 @@ export interface CoreOperators { do?: (next?: (x: T) => void, error?: (e: any) => void, complete?: () => void) => Observable; expand?: (project: (x: T, ix: number) => Observable, concurrent: number, scheduler: Scheduler) => Observable; filter?: (predicate: (x: T) => boolean, ix?: number, thisArg?: any) => Observable; - finally?: (ensure: () => void, thisArg?: any) => Observable; + finally?: (finallySelector: () => void) => Observable; first?: (predicate?: (value: T, index: number, source: Observable) => boolean, resultSelector?: (value: T, index: number) => R, thisArg?: any, defaultValue?: any) => Observable | Observable; flatMap?: (project: ((x: T, ix: number) => Observable), diff --git a/src/Observable.ts b/src/Observable.ts index 88a5175604..bb065d6307 100644 --- a/src/Observable.ts +++ b/src/Observable.ts @@ -190,7 +190,7 @@ export class Observable implements CoreOperators { do: (next?: (x: T) => void, error?: (e: any) => void, complete?: () => void) => Observable; expand: (project: (x: T, ix: number) => Observable, concurrent: number, scheduler: Scheduler) => Observable; filter: (predicate: (x: T) => boolean, ix?: number, thisArg?: any) => Observable; - finally: (ensure: () => void, thisArg?: any) => Observable; + finally: (finallySelector: () => void) => Observable; first: (predicate?: (value: T, index: number, source: Observable) => boolean, resultSelector?: (value: T, index: number) => R, thisArg?: any, defaultValue?: any) => Observable | Observable; flatMap: (project: ((x: T, ix: number) => Observable), diff --git a/src/operator/finally.ts b/src/operator/finally.ts index f4168f1209..766ed6e650 100644 --- a/src/operator/finally.ts +++ b/src/operator/finally.ts @@ -1,20 +1,13 @@ import {Operator} from '../Operator'; import {Subscriber} from '../Subscriber'; import {Subscription} from '../Subscription'; -import {bindCallback} from '../util/bindCallback'; -export function _finally(finallySelector: () => void, thisArg?: any) { - return this.lift(new FinallyOperator(thisArg ? - <() => void> bindCallback(finallySelector, thisArg, 2) : - finallySelector)); +export function _finally(finallySelector: () => void) { + return this.lift(new FinallyOperator(finallySelector)); } class FinallyOperator implements Operator { - - finallySelector: () => void; - - constructor(finallySelector: () => void) { - this.finallySelector = finallySelector; + constructor(private finallySelector: () => void) { } call(subscriber: Subscriber): Subscriber { @@ -27,4 +20,4 @@ class FinallySubscriber extends Subscriber { super(destination); this.add(new Subscription(finallySelector)); } -} +} \ No newline at end of file