JS中Async的一字型结果?

问题描述 投票:0回答:1

我想把一个异步IIFE函数的结果分配给一个对象属性。

类似这样。

const myObj = {
    dep: (async () => { await import('./myDep'); return myDep;})(),
}

但我没有得到值,而是得到了承诺。

目前我必须使用这个方法,这很丑陋。

let myObj = {};

(async () => {
    await import('./myDep');
    return myDep;
    })().then((myDep) => {                                                            
        myObj = {
            dep: myDep
        }
    }
});

如果使用顶层的异步函数,目前还处于ECMAScript提案状态,我相信这将是简单的。

const myObj = {
    dep: await import('./myDep'),
}
javascript object import async-await iife
1个回答
0
投票

感谢@JonasWilms

最后我这样做了。

const myObj = {};

import("./myDep").then(m => myObj.myattrib = m.namedexport);

这和预期的一样,我有 myObj 随着 myattrib 属性作为命名的导出的 myDep.

© www.soinside.com 2019 - 2024. All rights reserved.