Update how Publish page polls for file appearing in file manager
Formerly polled the full list of files; now looks up the specific file by name.
This commit is contained in:
parent
ee44ce5001
commit
c9a171ae28
1 changed files with 15 additions and 14 deletions
29
js/lbry.js
29
js/lbry.js
|
@ -245,8 +245,8 @@ lbry.getCostInfoForName = function(name, callback, errorCallback) {
|
|||
});
|
||||
}
|
||||
|
||||
lbry.getFileStatus = function(name, callback) {
|
||||
lbry.call('get_lbry_file', { 'name': name }, callback);
|
||||
lbry.getFileStatus = function(name, callback, errorCallback) {
|
||||
lbry.call('get_lbry_file', { 'name': name }, callback, errorCallback);
|
||||
}
|
||||
|
||||
lbry.getFilesInfo = function(callback) {
|
||||
|
@ -296,22 +296,23 @@ lbry.revealFile = function(sdHash, callback) {
|
|||
}
|
||||
|
||||
lbry.getFileInfoWhenListed = function(name, callback, timeoutCallback, tryNum=0) {
|
||||
// Calls callback with file info when it appears in the list of files returned by lbry.getFilesInfo().
|
||||
// If timeoutCallback is provided, it will be called if the file fails to appear.
|
||||
lbry.getFilesInfo(function(fileInfos) {
|
||||
for (var fileInfo of fileInfos) {
|
||||
if (fileInfo.lbry_uri == name) {
|
||||
callback(fileInfo);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
function scheduleNextCheckOrTimeout() {
|
||||
if (timeoutCallback && tryNum > 200) {
|
||||
timeoutCallback();
|
||||
} else {
|
||||
setTimeout(function() { lbry.getFileInfoWhenListed(name, callback, timeoutCallback, tryNum + 1) }, 250);
|
||||
setTimeout(() => lbry.getFileInfoWhenListed(name, callback, timeoutCallback, tryNum + 1), 250);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Calls callback with file info when it appears in the lbrynet file manager.
|
||||
// If timeoutCallback is provided, it will be called if the file fails to appear.
|
||||
lbry.getFileStatus(name, (fileInfo) => {
|
||||
if (fileInfo) {
|
||||
callback(fileInfo);
|
||||
} else {
|
||||
scheduleNextCheckOrTimeout();
|
||||
}
|
||||
}, () => scheduleNextCheckOrTimeout());
|
||||
}
|
||||
|
||||
lbry.publish = function(params, fileListedCallback, publishedCallback, errorCallback) {
|
||||
|
|
Loading…
Reference in a new issue