问题描述
我正在使用 Node.js 和 Webpack 来构建一个 Evaluate News NLP 项目。
我使用 dotenv 包来隐藏我的 API 密钥,我可以从服务器 index.js 访问 process.env。但是,我无法从客户端 somefunction.js 访问它。
我试图从服务器 index.js 获取变量并将其分配给一个变量,但它返回一个承诺。然后我搜索并使用另一个异步函数将返回值分配给我的变量,但徒劳。
我想知道如何将我的 fetch 的返回值分配给一个可以在另一个 fetch 调用中使用的变量?!
服务器 index.js 中的示例代码:
app.get('/api',(req,res) =>{
res.send(data)
})
代码示例(somefunction.js):
const fetchApi = async () => {
const res = await fetch('/api')
try{
const data = await res.json();
return data.apiKey
}catch(e){
console.log("error",e)
}
}
let apiKey = (async()=>{
try {
apiKey = await fetchApi();
} catch (e) {
console.log("error",e)
}
})();
然后我尝试在同一个 js 文件的另一个函数中使用这个 apiKey 变量:
const urlToFetch = `${baseURL}${apiKey}&url=${url}${lang}`
async () => {
const res = await fetch(urlToFetch)
try{
const data = await res.json()
document.getElementById('model').innerHTML = data.model
document.getElementById('score_tag').innerHTML = data.score_tag
document.getElementById('agreement').innerHTML = data.agreement
document.getElementById('subjectivity').innerHTML = data.subjectivity
document.getElementById('confidence').innerHTML = data.confidence
document.getElementById('irony').innerHTML = data.irony
console.log(apiKey)
console.log(res)
}catch (error) {
console.log("error",error)
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)