【发布时间】:2020-12-01 09:29:26
【问题描述】:
我有以下节点脚本等待环境变量更改值:
// wait-for-url.js
(async function () {
console.log('Waiting for a complete URL...');
while (true) {
const url = process.env.URL;
const isUrlIncomplete = url.includes('..creating..');
if (isUrlIncomplete) {
console.log(
`URL is still being provisioned (${url}). Trying again in 1 minute.`,
);
await sleep(60000);
} else {
console.log('URL is fully provioned!');
break;
}
}
})();
function sleep(ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
环境变量 URL 正在被另一个进程更新,所以我的节点脚本似乎永远无法访问 process.env.URL 的新值。
我的脚本如何读取由我无法控制的另一个进程设置的环境变量的新值?
我真正想做的是等待设置 URL env 变量,一旦设置好就运行测试:
node scripts/wait-for-url.js && npm run test
如果无法从我的节点脚本中访问新的环境变量,有没有办法至少可以修改我的命令行以达到相同的结果?
【问题讨论】:
标签: node.js environment-variables