Nodejs-在多个文件之间异步创建的共享变量



我使用的是NodeJS/Express。

在我的app.js中,我有一个异步检索的变量,我想在多个文件之间共享:

const myDriver;
somePromise.then((driver) => myDriver = driver);

somePromise创建硒的驱动程序实例。

我的目标:在promise解决后,在我的express项目中的多个文件之间共享myDriver的值,而无需多次执行promise(因此它不会创建多个selenium实例(。只有当应用程序启动时,我才需要这样做。

我找不到module.exports的正确用法,因为它是异步的。

知道吗?

这样的东西应该能起到作用。基本上将实例保存在某个地方,以便在后续调用中重用它。

let myDriver;
async function getDriver() {
if (!myDriver) {
myDriver = await somePromise();
}
return myDriver;
}
module.exports = getDriver;

使用

const driver = await getDriver();

由于它处于等待状态,因此需要对函数使用async。

最新更新