Ошибка при выполнении оператора обновления Mariadb

Расширяясь по коду @ Chanu_Sukarno, вы можете просто передать в рабочую функцию (или строку) эту функцию и выполнить ее внутри веб-работника:

async function doWorkerTask(workerFunction, input, buffers) {
  // Create worker
  let fnString = '(' + workerFunction.toString().replace('"use strict";', '') + ')();';
  let workerBlob = new Blob([fnString]);
  let workerBlobURL = window.URL.createObjectURL(workerBlob, { type: 'application/javascript; charset=utf-8' });
  let worker = new Worker(workerBlobURL);

  // Run worker
  return await new Promise(function(resolve, reject) {
    worker.onmessage = function(e) { resolve(e.data); };
    worker.postMessage(input, buffers);
  });
}

Вот пример того, как используйте его:

function myTask() {
  self.onmessage = function(e) {
    // do stuff with `e.data`, then:
    self.postMessage("my response");
    self.close();
  }
}
let output = await doWorkerTask(myTask, input, inputBuffers);
// now you can do something with `output` (which will be equal to "my response")


В nodejs doWorkerTask выглядит так:

async function doWorkerTask(workerFunction, input, buffers) {
  let Worker = require('webworker-threads').Worker;
  let worker = new Worker(workerFunction);

  // Run worker
  return await new Promise(function(resolve, reject) {
    worker.onmessage = function(e) { resolve(e.data); };
    worker.postMessage(input, buffers);
  });
}
1
задан him 27 February 2019 в 15:05
поделиться

1 ответ

Предположение в комментариях выше оказалось верным.

ОБНОВЛЕНИЕ выполняло триггер, который в свою очередь имел ссылку на хранимую процедуру, которая больше не существует.

0
ответ дан Bill Karwin 27 February 2019 в 15:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: