我正在使用NodeJS / Express。
在我的app.js
中,我有一个异步检索的变量,我想在多个文件之间共享:
const myDriver;
somePromise.then((driver) => myDriver = driver);
somePromise创建一个硒驱动程序实例。
我的目标是:在诺言解决后,在我的Express项目中的多个文件之间共享
myDriver
的值,而无需多次执行诺言(因此它不会创建多个Selenium实例)。我只有在应用启动时才需要这样做。我找不到与module.exports正确的用法,因为它是异步的。
任何想法?
最佳答案
这样的事情应该可以解决问题。基本上将实例保存在某个地方,以便您可以在后续调用中重用它。
let myDriver;
async function getDriver() {
if (!myDriver) {
myDriver = await somePromise();
}
return myDriver;
}
module.exports = getDriver;
用法
const driver = await getDriver();
由于正在等待,因此您需要对函数使用异步。
关于node.js - Node.js-共享在多个文件之间异步创建的变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60341149/