在另一个函数中异步调用后,我一直未定义

编码_开始

我有 2 个函数,一个使用 async 和 await 来获取数据并将其放入数组中。第二个是像检查器一样查看用户是否输入了与数据库中看到的相似的值

function repeatsChecker() {
  let api_data_values = []

  fetchData().then(data => {
    for (let i = 0; i < data.length; i++) {
      api_data_values.push(data[i].name)
    }
  })

  return api_data_values

}

// testing for similarities

async function test() {
  let name = "Joe"
  let test = await repeatsChecker();
  console.log(test[0])
}

test()

当我编译一个简单的 if 语句时,一切都返回 true,而当我执行 console.log(test[0]) 时,它返回 undefined?

尼古拉斯大厦

repeatChecker没有返回承诺,因此您awaiting 的事实没有任何有意义的影响。console.log(test[0])之前执行api_data_values.push(data[i].name)

尝试这个:

function repeatsChecker() {
  return fetchData().then(data => {
    return data.map(value => value.name);
  });
}

或者使用异步/等待:

async function repeatsChecker() {
  const data = await fetchData();
  return data.map(value => value.name);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

所以我在 React 中创建了一个回调函数,我正在调用它,但它一直显示未定义的错误

当我的函数调用另一个函数时,未定义“ sqlContext”

在另一个函数中调用时未定义函数(Python)

为什么我不能从 python 中的另一个函数调用一个函数。函数未定义错误

我试图从给定索引的数组中访问一个值,但我一直未定义

我应该如何使用在一个异步调用中返回的accessToken在另一个异步调用中?

我一直未定义

在 Javascript 中运行一个函数,但它最后一直返回“未定义”

JavaScript表示未定义被另一个函数调用的编程函数

如何让另一个异步调用等待?

从另一个类调用函数时属性未定义

如何在Webflux中的另一个异步方法内进行异步调用?

为什么我在React中的状态在一个函数中定义而在另一个函数中未定义?

为什么我的方法不调用另一个(未定义的变量)

在另一个函数React返回的匿名函数中,“ this”是未定义的

函数在同一个文件中定义但在另一个文件中未定义

子未定义的错误:在另一个工作表中调用宏

在另一个计算属性中调用时,Vue计算属性未定义

在另一个 .JS 文件的类中异步调用 SQL Server

未定义的方法-从另一个文件中调用一个文件中的类

传递给另一个.js文件中的函数时,属性未定义

在具有来自另一个文件的内部数组的函数中未定义

无法在另一个函数中运行一个函数:无法读取未定义的属性“ test” /无法读取未定义的属性“ setState”

C标头中的一个函数的“未定义的引用”,而另一个函数中的“未定义的引用”

如果通过调用另一个noreturn函数返回,则从noreturn函数返回的行为是否未定义?

如果我在fortran中调用一个函数而未定义变量,会发生什么?

另一个异步服务返回未定义

如何在依赖另一个异步调用数据的forEach()内部进行异步调用?

在redux-thunk中在另一个内部调用一个异步函数