diff --git a/bricks/llm.js b/bricks/llm.js index 1781b10..54a66c7 100644 --- a/bricks/llm.js +++ b/bricks/llm.js @@ -259,27 +259,25 @@ bricks.LlmModel = class extends bricks.JsWidget { } async query_task_status(mout, taskid){ var pt = this.opts.period_time || 50; - if (this.query_task) { - this.query_task.cancel() + while (true) { + var hj = new bricks.HttpJson() + var d = { + taskid: taskid + } + var resp = await hj.post(this.opts.query_url, {params:d}); + if (! resp) { + return; + } + mout.update_data(resp) + if (resp.status != 'ok'){ + console.log('error:' + resp.data.message); + } + var data = resp.data.response + if (data.status == 'FAILED' || data.status == 'SUCCEEDED'){ + return + } + mout.update_data(data); } - var hj = new bricks.HttpJson() - var d = { - taskid: taskid - } - var resp = await hj.post(this.opts.query_url, {params:d}); - if (! resp) { - return; - } - mout.update_data(resp) - if (resp.status != 'ok'){ - console.log('error:' + resp.data.message); - } - var data = resp.data.response - if (data.status == 'FAILED' || data.status == 'SUCCEEDED'){ - return - } - mout.update_data(data); - schedule_once(this.query_task_status.bind(this, mout, taskid), pt) } chunk_response(mout, l){ l = l.trim(); diff --git a/bricks/utils.js b/bricks/utils.js index 0151076..6b0efc6 100644 --- a/bricks/utils.js +++ b/bricks/utils.js @@ -1,5 +1,9 @@ var bricks = window.bricks || {}; bricks.bug = false; +bricks.sleep = function(seconds){ + var ms = seconds * 1000; + return new Promise(resolve => setTimeout(resolve, ms)); +} bricks.timeDiff = function(startTime) { const now = Date.now();