Skip to content

Instantly share code, notes, and snippets.

@fredkingham
Created October 1, 2013 17:42
Show Gist options
  • Save fredkingham/6782285 to your computer and use it in GitHub Desktop.
Save fredkingham/6782285 to your computer and use it in GitHub Desktop.
deferred observable
ko.extenders.deferred = function(targetObservable, startingVal) {
    //create a writeable computed observable to intercept writes to our observableo
targetObservable.loading = ko.observable(startingVal);
targetObservable.promise = function(x){
targetObservable.loading(true);
targetObservable.deferred = x;
x.done(function(returnedTarget){
targetObservable(returnedTarget);
targetObservable.loading(false);
});
};
    return targetObservable;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment