问题描述
我正在尝试使用Netlify函数(经过修改的return-env.js)来保护我的API密钥,该函数可以捕获并输出环境变量。由于我的项目使用的是普通JS,因此我必须从函数中获取键才能使用它。但这就是困难所在。
目前,我有:
function getKey() {
(async ()=> {
const response = await fetch('/.netlify/functions/return-env')
const resObj = await response.json()
console.log(resObj);
return resObj;
})();
}
console.log("my key " + getKey())
const Airtable = require('airtable');
const base = new Airtable({apiKey: 'EXAMPLE-API-KEY'})
getKey()
始终返回未定义,就像resObj
记录在函数外部一样。这里缺少什么?
解决方法
getKey将返回未定义的,因为您未在函数调用中返回任何内容
function getKey() {
return (async ()=> {
...
})();
}
它现在将返回一个promise,您可以随后将其链接或等待,等待将要求它处于异步函数中。
如果您只想将.then()删除:
getKey().then((key) => {
// do something with the key object
}