我有与此gist类似的代码。基本上,我试图将ESM与Mocha结合使用,所以我的hacky文件带有...
let driver = await import("./WireDriver.mjs");
我遇到的问题是驱动程序没有作为诺言或实际驱动程序返回。由于我们使用的是旧版chrome,我的断点无法正常工作,但是当我运行时...
console.log(`asdsa ${typeof d} ${Object.keys(d)} ${Object.getOwnPropertyNames(d)}`);
返回为
asdsa对象默认默认值
如何等待实际返回驱动程序对象?
更新
我尝试将WireDriver简化为...
const test = () => {
return new Promise((res, rej) =>{
res("This is a test");
});
};
export {test}
然后尝试像这样使用它...
const base = await import("./WireDriver.mjs");
base.test().then((test)=>{
console.log(`Is driver loaded? ${test}`);
});
现在我跑步时...
UnhandledPromiseRejectionWarning:TypeError:base.test.then不是函数
答案 0 :(得分:0)
此版本似乎有效...
import {BasePage} from "./pages/BasePage";
const driver = ()=>{
let page = new BasePage();
return page.driver;
};
export {driver}
(async () => {
const base = await import("./WireDriver.mjs");
const driver = await base.driver();
})