我需要在调用api之前设置env vars,但是我需要设置它们的数据来自异步函数
process.env.ENVVAR1 = await someFunc('sdkflskdf');
process.env.ENVVAR2 = await someFunc('sdfsdsd');
const someapi = require('someapi');
someapi.init({ paramOne: 'val1', paramTwo: 'val2' });
someapi.method('zzzz', 'xxxx', 'yyyy');
如何确保在调用someapi之前设置了这些环境变量?
最佳答案
如果所有内容都在同一个async
块内,则应该没有问题,因为所有内容将按照定义的顺序执行:
(async() => {
process.env.ENVVAR1 = await someFunc('sdkflskdf');
process.env.ENVVAR2 = await someFunc('sdfsdsd');
const someapi = require('someapi');
someapi.init({ paramOne: 'val1', paramTwo: 'val2' });
someapi.method('zzzz', 'xxxx', 'yyyy');
})();
如果不起作用,则在设置环境之前,您的API会包含在其他位置,并且您会遇到某种初始化冲突。
关于javascript - 需要在调用api之前从异步函数设置环境变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57651520/