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

View file

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

View file

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