From e82356cfbcd8728b46beaa27aaf4c614da5797d6 Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <Jacek@jacekk.info> Date: Sat, 06 Jul 2019 14:58:25 +0000 Subject: [PATCH] Make Deferred a class --- common.js | 46 +++++++++++++++++++++++----------------------- 1 files changed, 23 insertions(+), 23 deletions(-) diff --git a/common.js b/common.js index c1fceeb..9551468 100644 --- a/common.js +++ b/common.js @@ -22,27 +22,28 @@ ********/ function Deferred(promise, request) { - return { - promise: promise, - request: request, - abort: function() { - request.abort.bind(request); - return Deferred(promise, request); - }, - done: function(func) { - return Deferred(promise.then(func), request); - }, - fail: function(func) { - return Deferred(promise.catch(func), request); - }, - always: function(func) { - return Deferred(promise.finally(func), request); - }, - }; + this.promise = promise; + this.request = request; } - +Deferred.prototype = { + promise: null, + request: null, + abort: function() { + this.request.abort.bind(this.request); + return new Deferred(this.promise, this.request); + }, + done: function(func) { + return new Deferred(this.promise.then(func), this.request); + }, + fail: function(func) { + return new Deferred(this.promise.catch(func), this.request); + }, + always: function(func) { + return new Deferred(this.promise.finally(func), this.request); + }, +}; Deferred.all = function(iterable) { - return Deferred( + return new Deferred( Promise.all( iterable.map(x => x.promise) ) @@ -73,7 +74,7 @@ request.open('GET', url, true); request.send(); }); - return Deferred(promise, request); + return new Deferred(promise, request); }, }; @@ -165,10 +166,9 @@ } function parseTime(date, time) { - var result = new Date(date.getFullYear(), date.getMonth(), date.getDay()); + var result = new Date(date.getTime()); var time_split = time.split(':'); - result.setHours(time_split[0]); - result.setMinutes(time_split[1]); + result.setHours(time_split[0], time_split[1], 0); if(result.getTime() - date.getTime() > 72000000) { result.setTime(result.getTime() - 86400000); -- Gitblit v1.9.1