domenic at domenicdenicola.com (2014-09-30T16:52:09.082Z)
Also you CAN potentially do something like this eventually:
```
(async function() {
var myMod = await System.import("my-mod");
})()
```Also you CAN potentially do something like this eventually:
```
(async function() {
var myMod = await System.import("my-mod");
})()
```
Also you CAN potentially do something like this eventually: ``` (async function() { var myMod = await System.import("my-mod"); })() ``` - Matthew Robb On Sun, Sep 28, 2014 at 11:45 AM, Guy Bedford <guybedford at gmail.com> wrote: > On 28 September 2014 07:01, John Lenz <concavelenz at gmail.com> wrote: > >> I would like to see some way to preload everything, and be able to >> retrieve them synchronously, something like: >> >> System.loader.addNoAsync('...'); // throw if all imports aren't >> available already >> >> So that the script could be used during initial render. I understand that >> this would mean that the module would need to be parsed and executed >> synchronously. Forcing folks to never use any module for code that needs to >> be inline seems like a bad turn. >> > > I'm not sure what rendering behaviour is planned for <script > type="module">, but I hope there would be a way to indicate when it should > and shouldn't block rendering of the HTML page / HTML import. > > In terms of preloading, there are complete ways to do this through custom > extensions. > > >> >> On Fri, Sep 26, 2014 at 1:44 PM, John Barton <johnjbarton at google.com> >> wrote: >> >>> Theoretically you can use System.normalize() and System.get() to lookup >>> a module by name synchronously. The normalize feature requires a referrer >>> or address. >>> >>> Since browsers are determined to eliminate synchronous scripts, you may >>> as well deal with the asynchronous System.import() and obnoxious promises >>> stuff now and save yourself some pain later. >>> >>> jjb >>> >>> On Fri, Sep 26, 2014 at 9:40 AM, Konstantin Ikonnikov < >>> ikokostya at gmail.com> wrote: >>> >>>> I don't want load module using http request. In my case module already >>>> defined and I want import it later when I get its name: >>>> >>>> ```js >>>> var moduleName = getModuleName(); >>>> import { foo } from moduleName; >>>> >>>> // use foo >>>> ``` >>>> >>>> >>>> >>>> 2014-09-26 20:00 GMT+04:00 Marius Gundersen <gundersen at gmail.com>: >>>> >>>>> And the reason you cannot import a module synchronously is that it >>>>> would freeze the entire browser until the http request completes, which >>>>> could be several seconds on a slow internet connection. >>>>> >>>>> If you want to import something dynamically you can do it using the >>>>> API (to be finalized, I believe): >>>>> >>>>> ```js >>>>> var moduleName = 'foo'; >>>>> Loader.import(moduleName).then(function(foo){ >>>>> //use foo here >>>>> }); >>>>> ``` >>>>> >>>>> Marius Gundersen >>>>> >>>>> On Fri, Sep 26, 2014 at 5:29 PM, John Barton <johnjbarton at google.com> >>>>> wrote: >>>>> >>>>>> no. >>>>>> >>>>>> On Fri, Sep 26, 2014 at 8:12 AM, Konstantin Ikonnikov < >>>>>> ikokostya at gmail.com> wrote: >>>>>> >>>>>>> Can I import module dynamically, but synchronously? Example for >>>>>>> common js >>>>>>> >>>>>>> ```js >>>>>>> var moduleName = 'foo'; >>>>>>> var foo = require(moduleName); >>>>>>> ``` >>>>>>> >>>>>>> In es6 draft I found that ModuleSpecifier must be a StringLiteral >>>>>>> http://people.mozilla.org/~jorendorff/es6-draft.html#sec-imports >>>>>>> >>>>>>> _______________________________________________ >>>>>>> es-discuss mailing list >>>>>>> es-discuss at mozilla.org >>>>>>> https://mail.mozilla.org/listinfo/es-discuss >>>>>>> >>>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> es-discuss mailing list >>>>>> es-discuss at mozilla.org >>>>>> https://mail.mozilla.org/listinfo/es-discuss >>>>>> >>>>>> >>>>> >>>> >>>> _______________________________________________ >>>> es-discuss mailing list >>>> es-discuss at mozilla.org >>>> https://mail.mozilla.org/listinfo/es-discuss >>>> >>>> >>> >>> _______________________________________________ >>> es-discuss mailing list >>> es-discuss at mozilla.org >>> https://mail.mozilla.org/listinfo/es-discuss >>> >>> >> >> _______________________________________________ >> es-discuss mailing list >> es-discuss at mozilla.org >> https://mail.mozilla.org/listinfo/es-discuss >> >> > > _______________________________________________ > es-discuss mailing list > es-discuss at mozilla.org > https://mail.mozilla.org/listinfo/es-discuss > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20140928/f72e2c41/attachment-0001.html>