developit / greenlet

🦎 Move an async function into its own thread.
https://npm.im/greenlet
4.67k stars 100 forks source link

__awaiter is not defined #46

Open bigant63 opened 4 years ago

bigant63 commented 4 years ago

I keep getting greenlet.m.js:1 Uncaught (in promise) ReferenceError: __awaiter is not defined. In our project. I've tried changing the complier option values: "importHelpers": true, "noEmitHelpers": true,

in our tsconfig file. Has anyone experienced this problem and fixed it?

I'm just trying this in one of our modules

const getPost = greenlet(async () => {
  const url = `https://jsonplaceholder.typicode.com/posts`;
  const res = await fetch(url);
  return await res.json();
});

console.log('func======', getPost());

Thanks Anthony

slo-cap3 commented 4 years ago

same problem here. Using greenlet in an angular project and getting "ReferenceError: __awaiter is not defined" errors.

I assume that it has something todo with typescript compilation and the emitted helper functions not available in the web-worker module.

slo-cap3 commented 4 years ago

@bigant63 You have to up your compilation target to at least es2017 to get this to work. The greenlet Worker module does not have the emitted helper functions, nor the tslib import. So you have to make sure, that the async/await code is not transpiled down to <=es2016 code.

bigant63 commented 4 years ago

Thanks You! Changing the target to es2017 tsconfig.json worked