当前位置: 首页 > 知识库问答 >
问题:

从函数返回的数据是promise(实现)数据

卢朝
2023-03-14
defaultValue = getFile(getCurrent.value[name]) 

函数getfile:

const getFile = async (id) => {
  const data = store.dispatch(Actions.FILE, id).then(() => {
    const data = [{ description: store.getters.currentFile.description, url: 'https://test.com/uploads/'+ store.getters.currentFile.name }]
    return data
  })
  return data
}

但我需要一个数组而不是这个promise的东西。怎么解决?

共有1个答案

费秦迟
2023-03-14

您需要使用await关键字

const getFile = async (id) => {
   await store.dispatch(Actions.FILE, id);
   return  [{ description: store.getters.currentFile.description, url: 'https://test.com/uploads/'+ store.getters.currentFile.name }]
}

然后等待调用getfile

defaultValue = await getFile(getCurrent.value[name]) 
 类似资料:
  • 问题内容: 我需要兑现承诺,以便可以通过封闭函数将其返回。我知道,由于正常的JavaScript范围,我可能无法按照编码的方式进行操作。有什么办法可以做到吗? 位于#1 的 console.log 会生成正确的数据。 console.log #2总是产生’a’; 任何指针将不胜感激。 问题答案: 许诺背后的基本原则之一是它是异步处理的。这意味着您无法创建承诺,然后立即在代码中同步使用其结果(例如,

  • 问题内容: 我正在尝试编写一个函数(使用WebdriverJS lib),该函数遍历元素列表,检查名称并构建与该名称相对应的xpath定位器。我在这里简化了xpath定位器,所以不用注意。 我在这里面临的问题是:1)调用此函数返回未定义。据我了解,这是因为return语句不在其位置,而是:2)将其放置在同步代码通常可以正常工作的正确位置,不适用于异步承诺,因此调用此函数将返回相同的未定义,但是因为

  • #1处的console.log生成正确的数据。console.log#2始终生成“a”; 如有任何指示,将不胜感激。

  • 我正在学习react native,我遇到了一个问题。为什么从异步函数返回时获取数据会返回一个promise,但在异步函数本身中,它会正确地返回一个对象数组? 在上,我调用我的异步函数,该函数反过来提取api url: 在,我得到了正确的json对象列表,我可以使用。但后来,返回包含奇数数据的promise: ... 我再也找不到我的json对象了。为什么会这样?更重要的是,如何在中检索json数

  • 我试图了解异步/等待如何与promise一起工作。 据我所知,await应该是阻塞的,在上面的代码中,它似乎阻塞了返回带有原语

  • 我正在为Discord制作一个机器人,这个机器人的一个功能是一个级别系统。我决定从使用JSON存储数据转向使用sqlite。我正在node.js中使用sqlite3,并试图创建一个函数来创建/检索播放器的数据。我的目标是让这个函数返回查询中的数据,但我正在努力找出我做错了什么。我已经读到,我需要使用发送到查询函数的回调,但这对我来说也不起作用(对于这个函数的目标也不起作用)。 因此,任何关于如何创