1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

change deferred to promise

This commit is contained in:
Luke Pulverenti 2015-11-29 17:13:06 -05:00
parent 404073e540
commit 3e1fd2ec8a
3 changed files with 141 additions and 182 deletions

View file

@ -292,7 +292,7 @@
return connectionMode; return connectionMode;
} }
function tryReconnectInternal(deferred, connectionMode, currentRetryCount) { function tryReconnectInternal(resolve, reject, connectionMode, currentRetryCount) {
connectionMode = switchConnectionMode(connectionMode); connectionMode = switchConnectionMode(connectionMode);
var url = MediaBrowser.ServerInfo.getServerAddress(self.serverInfo(), connectionMode); var url = MediaBrowser.ServerInfo.getServerAddress(self.serverInfo(), connectionMode);
@ -316,7 +316,7 @@
self.serverInfo().LastConnectionMode = connectionMode; self.serverInfo().LastConnectionMode = connectionMode;
self.serverAddress(url); self.serverAddress(url);
deferred.resolve(); resolve();
}, function () { }, function () {
@ -327,22 +327,23 @@
var newConnectionMode = switchConnectionMode(connectionMode); var newConnectionMode = switchConnectionMode(connectionMode);
setTimeout(function () { setTimeout(function () {
tryReconnectInternal(deferred, newConnectionMode, currentRetryCount + 1); tryReconnectInternal(resolve, reject, newConnectionMode, currentRetryCount + 1);
}, 500); }, 500);
} else { } else {
deferred.reject(); reject();
} }
}); });
} }
function tryReconnect() { function tryReconnect() {
var deferred = DeferredBuilder.Deferred(); return new Promise(function (resolve, reject) {
setTimeout(function () { setTimeout(function () {
tryReconnectInternal(deferred, self.serverInfo().LastConnectionMode, 0); tryReconnectInternal(resolve, reject, self.serverInfo().LastConnectionMode, 0);
}, 500); }, 500);
return deferred.promise(); });
} }
self.fetchWithFailover = function (request, enableReconnection) { self.fetchWithFailover = function (request, enableReconnection) {
@ -589,54 +590,35 @@
Size: byteSize Size: byteSize
}); });
var deferred = DeferredBuilder.Deferred();
var now = new Date().getTime(); var now = new Date().getTime();
self.get(url).then(function () { return self.get(url).then(function () {
var responseTimeSeconds = (new Date().getTime() - now) / 1000; var responseTimeSeconds = (new Date().getTime() - now) / 1000;
var bytesPerSecond = byteSize / responseTimeSeconds; var bytesPerSecond = byteSize / responseTimeSeconds;
var bitrate = Math.round(bytesPerSecond * 8); var bitrate = Math.round(bytesPerSecond * 8);
deferred.resolveWith(null, [bitrate]); return bitrate;
}, function () {
deferred.reject();
}); });
return deferred.promise();
}; };
self.detectBitrate = function () { self.detectBitrate = function () {
var deferred = DeferredBuilder.Deferred();
// First try a small amount so that we don't hang up their mobile connection // First try a small amount so that we don't hang up their mobile connection
self.getDownloadSpeed(1000000).then(function (bitrate) { return self.getDownloadSpeed(1000000).then(function (bitrate) {
if (bitrate < 1000000) { if (bitrate < 1000000) {
deferred.resolveWith(null, [Math.round(bitrate * .8)]); return Math.round(bitrate * .8);
} else { } else {
// If that produced a fairly high speed, try again with a larger size to get a more accurate result // If that produced a fairly high speed, try again with a larger size to get a more accurate result
self.getDownloadSpeed(2400000).then(function (bitrate) { return self.getDownloadSpeed(2400000).then(function (bitrate) {
deferred.resolveWith(null, [Math.round(bitrate * .8)]); return Math.round(bitrate * .8);
}, function () {
deferred.reject();
}); });
} }
}, function () {
deferred.reject();
}); });
return deferred.promise();
}; };
/** /**
@ -735,10 +717,11 @@
}).then(done, done); }).then(done, done);
} }
var deferred = DeferredBuilder.Deferred(); return new Promise(function (resolve, reject) {
done(); done();
deferred.resolveWith(null, []); resolve();
return deferred.promise(); });
}; };
function getRemoteImagePrefix(options) { function getRemoteImagePrefix(options) {
@ -1964,16 +1947,16 @@
throw new Error("File must be an image."); throw new Error("File must be an image.");
} }
var deferred = DeferredBuilder.Deferred(); return new Promise(function (resolve, reject) {
var reader = new FileReader(); var reader = new FileReader();
reader.onerror = function () { reader.onerror = function () {
deferred.reject(); reject();
}; };
reader.onabort = function () { reader.onabort = function () {
deferred.reject(); reject();
}; };
// Closure to capture the file information. // Closure to capture the file information.
@ -1991,17 +1974,16 @@
contentType: "image/" + file.name.substring(file.name.lastIndexOf('.') + 1) contentType: "image/" + file.name.substring(file.name.lastIndexOf('.') + 1)
}).then(function (result) { }).then(function (result) {
deferred.resolveWith(null, [result]); resolve(result);
}, function () { }, function () {
deferred.reject(); reject();
}); });
}; };
// Read in the image file as a data URL. // Read in the image file as a data URL.
reader.readAsDataURL(file); reader.readAsDataURL(file);
});
return deferred.promise();
}; };
self.uploadItemImage = function (itemId, imageType, file) { self.uploadItemImage = function (itemId, imageType, file) {
@ -2026,16 +2008,16 @@
url += "/" + imageType; url += "/" + imageType;
var deferred = DeferredBuilder.Deferred(); return new Promise(function (resolve, reject) {
var reader = new FileReader(); var reader = new FileReader();
reader.onerror = function () { reader.onerror = function () {
deferred.reject(); reject();
}; };
reader.onabort = function () { reader.onabort = function () {
deferred.reject(); reject();
}; };
// Closure to capture the file information. // Closure to capture the file information.
@ -2051,17 +2033,16 @@
contentType: "image/" + file.name.substring(file.name.lastIndexOf('.') + 1) contentType: "image/" + file.name.substring(file.name.lastIndexOf('.') + 1)
}).then(function (result) { }).then(function (result) {
deferred.resolveWith(null, [result]); resolve(result);
}, function () { }, function () {
deferred.reject(); reject();
}); });
}; };
// Read in the image file as a data URL. // Read in the image file as a data URL.
reader.readAsDataURL(file); reader.readAsDataURL(file);
});
return deferred.promise();
}; };
/** /**
@ -2425,11 +2406,11 @@
*/ */
self.authenticateUserByName = function (name, password) { self.authenticateUserByName = function (name, password) {
var deferred = DeferredBuilder.Deferred(); return new Promise(function (resolve, reject) {
if (!name) { if (!name) {
deferred.reject(); reject();
return deferred.promise(); return;
} }
var url = self.getUrl("Users/authenticatebyname"); var url = self.getUrl("Users/authenticatebyname");
@ -2453,15 +2434,11 @@
self.onAuthenticated(self, result); self.onAuthenticated(self, result);
} }
deferred.resolveWith(null, [result]); resolve(result);
}, function () { }, reject);
deferred.reject();
}); });
}); });
return deferred.promise();
}; };
/** /**
@ -2472,11 +2449,11 @@
*/ */
self.updateUserPassword = function (userId, currentPassword, newPassword) { self.updateUserPassword = function (userId, currentPassword, newPassword) {
var deferred = DeferredBuilder.Deferred(); return new Promise(function (resolve, reject) {
if (!userId) { if (!userId) {
deferred.reject(); reject();
return deferred.promise(); return;
} }
var url = self.getUrl("Users/" + userId + "/Password"); var url = self.getUrl("Users/" + userId + "/Password");
@ -2490,17 +2467,9 @@
currentPassword: CryptoJS.SHA1(currentPassword).toString(), currentPassword: CryptoJS.SHA1(currentPassword).toString(),
newPassword: CryptoJS.SHA1(newPassword).toString() newPassword: CryptoJS.SHA1(newPassword).toString()
} }
}).then(function (result) { }).then(resolve, reject);
deferred.resolveWith(null, [result]);
}, function () {
deferred.reject();
}); });
}); });
return deferred.promise();
}; };
/** /**
@ -2510,11 +2479,11 @@
*/ */
self.updateEasyPassword = function (userId, newPassword) { self.updateEasyPassword = function (userId, newPassword) {
var deferred = DeferredBuilder.Deferred(); return new Promise(function (resolve, reject) {
if (!userId) { if (!userId) {
deferred.reject(); reject();
return deferred.promise(); return;
} }
var url = self.getUrl("Users/" + userId + "/EasyPassword"); var url = self.getUrl("Users/" + userId + "/EasyPassword");
@ -2527,17 +2496,9 @@
data: { data: {
newPassword: CryptoJS.SHA1(newPassword).toString() newPassword: CryptoJS.SHA1(newPassword).toString()
} }
}).then(function (result) { }).then(resolve, reject);
deferred.resolveWith(null, [result]);
}, function () {
deferred.reject();
}); });
}); });
return deferred.promise();
}; };
/** /**
@ -3211,14 +3172,12 @@
if (self.isWebSocketOpen()) { if (self.isWebSocketOpen()) {
var deferred = DeferredBuilder.Deferred(); return new Promise(function (resolve, reject) {
var msg = JSON.stringify(options); var msg = JSON.stringify(options);
self.sendWebSocketMessage("ReportPlaybackProgress", msg); self.sendWebSocketMessage("ReportPlaybackProgress", msg);
resolve();
deferred.resolveWith(null, []); });
return deferred.promise();
} }
var url = self.getUrl("Sessions/Playing/Progress"); var url = self.getUrl("Sessions/Playing/Progress");

View file

@ -4,15 +4,14 @@
findServers: function (timeoutMs) { findServers: function (timeoutMs) {
var deferred = DeferredBuilder.Deferred(); return new Promise(function (resolve, reject) {
var servers = []; var servers = [];
// Expected server properties // Expected server properties
// Name, Id, Address, EndpointAddress (optional) // Name, Id, Address, EndpointAddress (optional)
resolve(servers);
deferred.resolveWith(null, [servers]); });
return deferred.promise();
} }
}; };

View file

@ -2,9 +2,10 @@
function send(info) { function send(info) {
var deferred = DeferredBuilder.Deferred(); return new Promise(function (resolve, reject) {
deferred.resolve();
return deferred.promise(); resolve();
});
} }
globalScope.WakeOnLan = { globalScope.WakeOnLan = {