首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DataCloneError:#<Promise>不能被克隆

DataCloneError:#<Promise>不能被克隆
EN

Stack Overflow用户
提问于 2022-01-07 13:31:59
回答 1查看 2.4K关注 0票数 2

我在节点js中使用工作线程,下面是我在两个文件中的代码

worker.js

代码语言:javascript
运行
复制
const mysql = require('mysql2');
const { 
v1: uuidv1,
v4: uuidv4,
} = require('uuid');
const {parentPort, workerData} = require("worker_threads");

const dayjs = require('dayjs');

parentPort.postMessage(getRdvSlots(workerData.data));

async function getRdvSlots(data){
  if(data.duration == 0 || data.address_id.trim() === "" || data.reasonId.trim() === "" || data.people_id.trim() === "" ){
    return false;
  }
  let details = {};

  let startDate = data.sel_date;
  details["startDate"] = startDate;

  let availableDates = await generateAvailableDates(data.people_id, data.address_id, data.reasonId, startDate);

  let emptyAvailabilities = 0;
  let slots = {};
  for(let key in availableDates){
    slots[key] = await getSlots(key, availableDates[key],data.people_id, data.duration);
  }
  details["slots"] = slots;

  return JSON.parse(JSON.stringify(details));
}

在index.js中

代码语言:javascript
运行
复制
app.get("/checkworker", async (req, res) => {
    const worker = new Worker("./worker.js", {workerData: {data: req.query}});

    worker.once("message", result => {
        console.log(`${result}`);
        res.send(result);
    });

    worker.on("error", error => {
        console.log(error);
    });

    worker.on("exit", exitCode => {
        console.log(`It exited with code ${exitCode}`);
    })
});

在这件事上,我得到的错误是

DataCloneError:#不能被克隆。在对象上。\worker.js:10:12

,它位于parentPort.postMessage(getRdvSlots(workerData.data));中的worker.js中。

我是nodejs工作线程的新手--任何帮助--代码中的错误

EN

回答 1

Stack Overflow用户

发布于 2022-01-26 16:54:12

我发现这个问题我也有同样的问题。我刚刚修复了它:)我试图发布到另一个线程的对象具有一个异步方法正在设置的属性。我没有在台词中加上“等待”:)

我认为这会解决你的问题:

代码语言:javascript
运行
复制
parentPort.postMessage(await getRdvSlots(workerData.data));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70621998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档