Javascript 使用多个调用保存api调用数据
我无法获取变量中的数据,以便在代码中使用它。现在,从第二个异步函数Javascript 使用多个调用保存api调用数据,javascript,node.js,api,async-await,promise,Javascript,Node.js,Api,Async Await,Promise,我无法获取变量中的数据,以便在代码中使用它。现在,从第二个异步函数joinData返回的映射登录到控制台,但我无法在代码中访问它,我随后通过console.log-调用变量进行测试。我试过: 在joinData()中将其保存为“d”。然后(d=>data=d) 我还尝试将其复制为同一块中的映射,但当我console.log 在调用中将数据另存为joinedData 我能想到的几乎每种组合,但每种组合都会导致未定义或挂起 发生这种情况是因为,在所有承诺都得到解决之前,您试图访问结果,请尝试以下
joinData
返回的映射登录到控制台,但我无法在代码中访问它,我随后通过console.log
-调用变量进行测试。我试过:
- 在
joinData()中将其保存为“d”。然后(d=>data=d)
- 我还尝试将其复制为同一块中的映射,但当我
console.log
- 在调用中将数据另存为
joinedData
- 我能想到的几乎每种组合,但每种组合都会导致
或未定义
挂起
发生这种情况是因为,在所有承诺都得到解决之前,您试图访问结果,请尝试以下操作:
try {
let results = await joinData();
console.log(results);
}catch(e){
// error handling here
}
只需确保当前函数也是
async
,此代码将在其中。在此之后,无论何时您记录结果
它都不会是未定义的
我已经请求了一个API_令牌来帮助您,但我没有可“使用”的审核统计数据。。。我得到的只是我放在。。。也许您可以告诉我如何将review stats数据填充到wanikani中(或者创建一个临时API令牌并在您满意后删除),以提供更多帮助?谢谢,我已经用您的新令牌更新了代码,但我没有发现任何问题(在自述文件中更新了输出),我使用的是axios
(您提到NodeJs是一个标记,axios比后端的fetch好得多),但也许你可以克隆repo并自己运行它进行检查?我实际上只使用前端。我可以通过在另一个异步函数中调用数据来解决它,正如答案所建议的。我从不使用vanilla js,通常使用更简单的Svelte或React…谢谢你的帮助!如果我需要后端,我会定义使用axios似乎简单多了。谢谢!是的,问题是我试图在异步函数之外访问它。太好了,我很高兴我的答案很有用。
try {
let results = await joinData();
console.log(results);
}catch(e){
// error handling here
}