developit / developit/workerize-loader

Failed to execute 'postMessage' on 'DedicatedWorkerGlobalScope': function transformRequest(data, headers) { normalizeHeaderName(headers, 'Accept'); normalizeHeaderName(...<omitted>... } could not be cloned.

Open
#121 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
2.3k
Forks
85
PR merge metrics
No merged PRs in 30d

Description

I query a large Firebase collection in my app.
I'd like to use `axios` in my app. But it is wrong

`
// worker.js

import axios from "axios";
import 'regenerator-runtime';

export async function expensive() {
const res = await axios.get('https://vdata.amap.com/tiles?mapType=normal&v=3&style=5&key=f97efc35164149d0c0f299e7a8adb3d2&version=1.4.17&rd=2&flds=roadlabel,poilabel&t=9,432,204;9,436,204;9,432,201;9,436,201;9,432,203;9,436,203;9,433,204;9,435,204;9,432,202;9,436,202&lv=9&key=f97efc35164149d0c0f299e7a8adb3d2&preload=0');
console.log(res)
return res;
}
`
When I run the worker as follows:

// app.js
import Worker from 'workerize-loader!./worker';

`
let instance = worker()

instance.expensive().then(data => {
console.log(`${data}`)
})
`

Failed to execute 'postMessage' on 'DedicatedWorkerGlobalScope': function transformRequest(data, headers) { normalizeHeaderName(headers, 'Accept'); normalizeHeaderName(...... } could not be cloned.

Is it a bug in workerize or is it me doing something wrong?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the worker.js and app.js examples, then inspect the workerize-loader!./worker entry point and its message-passing path. Reproduce expensive() with the shown axios request and trace the returned value through postMessage; done means the worker call no longer produces the reported structured-clone error.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, webpack
Domain
tooling, web-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.