Ad
One Liner Result Of Async In JS?
I would like to assign the result of an async IIFE function to an object property.
Something like:
const myObj = {
dep: (async () => { await import('./myDep'); return myDep;})(),
}
But instead of getting the value I get the promise.
Currently I have to use this which is ugly:
let myObj = {};
(async () => {
await import('./myDep');
return myDep;
})().then((myDep) => {
myObj = {
dep: myDep
}
}
});
With top level async, which still is in ECMAScript proposal state I believe this would be simply:
const myObj = {
dep: await import('./myDep'),
}
Ad
Answer
Thanks to @JonasWilms
In the end I did this:
const myObj = {};
import("./myDep").then(m => myObj.myattrib = m.namedexport);
This works as expected and I have the myObj
with the myattrib
attribute as the named export of myDep
.
Ad
source: stackoverflow.com
Related Questions
- → How to update data attribute on Ajax complete
- → October CMS - Radio Button Ajax Click Twice in a Row Causes Content to disappear
- → Octobercms Component Unique id (Twig & Javascript)
- → Passing a JS var from AJAX response to Twig
- → Laravel {!! Form::open() !!} doesn't work within AngularJS
- → DropzoneJS & Laravel - Output form validation errors
- → Import statement and Babel
- → Uncaught TypeError: Cannot read property '__SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED' of undefined
- → React-router: Passing props to children
- → ListView.DataSource looping data for React Native
- → Can't test submit handler in React component
- → React + Flux - How to avoid global variable
- → Webpack, React & Babel, not rendering DOM
Ad