diff --git a/source/core/taskrunner.js b/source/core/taskrunner.js index e023168..95781f0 100644 --- a/source/core/taskrunner.js +++ b/source/core/taskrunner.js @@ -39,3 +39,10 @@ OV.TaskRunner = class } } }; + +OV.RunTaskAsync = function (task) +{ + setTimeout (function () { + task (); + }, 0); +}; diff --git a/source/external/three.model.loader.js b/source/external/three.model.loader.js index 1a80d44..236ded1 100644 --- a/source/external/three.model.loader.js +++ b/source/external/three.model.loader.js @@ -44,22 +44,16 @@ OV.ThreeModelLoader = class { let obj = this; this.callbacks.onFilesLoaded (); - - let taskRunner = new OV.TaskRunner (); - taskRunner.Run (1, { - runTask : function (index, ready) { - obj.importer.Import ({ - success : function (importResult) { - obj.OnModelImported (importResult); - ready (); - }, - error : function (importError) { - obj.callbacks.onLoadError (importError); - obj.inProgress = false; - ready (); - } - }); - } + OV.RunTaskAsync (function () { + obj.importer.Import ({ + success : function (importResult) { + obj.OnModelImported (importResult); + }, + error : function (importError) { + obj.callbacks.onLoadError (importError); + obj.inProgress = false; + } + }); }); } diff --git a/website/o3dv/dialogs.js b/website/o3dv/dialogs.js index 336b05f..f88b9d4 100644 --- a/website/o3dv/dialogs.js +++ b/website/o3dv/dialogs.js @@ -256,26 +256,22 @@ OV.ShowExportDialog = function (model) let selectedFormat = formats[selectedIndex - 1]; fileList.html ('Please wait...'); - let taskRunner = new OV.TaskRunner (); - taskRunner.Run (1, { - runTask : function (index, ready) { - let exporter = new OV.Exporter (); - let files = exporter.Export (model, selectedFormat.format, selectedFormat.extension); - fileList.empty (); - for (let i = 0; i < files.length; i++) { - let file = files[i]; - let url = file.GetUrl (); - if (url === null) { - url = OV.CreateObjectUrl (file.GetContent ()); - createdUrls.push (url); - } - let fileLink = $('').addClass ('ov_dialog_file_link').appendTo (fileList); - fileLink.attr ('href', url); - fileLink.attr ('download', file.GetName ()); - $('').addClass ('ov_dialog_file_link_icon').attr ('src', 'assets/images/dialog/file_download.svg').appendTo (fileLink); - $('
').addClass ('ov_dialog_file_link_text').html (file.GetName ()).appendTo (fileLink); + OV.RunTaskAsync (function () { + let exporter = new OV.Exporter (); + let files = exporter.Export (model, selectedFormat.format, selectedFormat.extension); + fileList.empty (); + for (let i = 0; i < files.length; i++) { + let file = files[i]; + let url = file.GetUrl (); + if (url === null) { + url = OV.CreateObjectUrl (file.GetContent ()); + createdUrls.push (url); } - ready (); + let fileLink = $('').addClass ('ov_dialog_file_link').appendTo (fileList); + fileLink.attr ('href', url); + fileLink.attr ('download', file.GetName ()); + $('').addClass ('ov_dialog_file_link_icon').attr ('src', 'assets/images/dialog/file_download.svg').appendTo (fileLink); + $('
').addClass ('ov_dialog_file_link_text').html (file.GetName ()).appendTo (fileLink); } }); });