Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用多个调用保存api调用数据_Javascript_Node.js_Api_Async Await_Promise - Fatal编程技术网

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
}