喂猪吃鸡腿 2021-11-23 14:59 采纳率: 47.8%
浏览 399
已结题

ts怎么获取异步函数返回值

export async function getBasicData() {
  const data = await hot();
  const arr: any = [];
  for (let index = 0; index < 6; index++) {
    arr.push({
      id: `${index}`,
      name: '张三',
      age: `1${index}`,
      dates: data,
      address: '中华人名共和国',
      beginTime: new Date().toLocaleString(),
      endTime: new Date().toLocaleString(),
    });
  }
  return arr;
}
export default defineComponent({
    components: { BasicTable },
    setup() {
       //  这里!!!!!!!!!!!!!!!!!!!!!
      let datas;
      getBasicData().then(function (res) {
        datas = res;
      });
      getBasicData().then(fun)
      return {
        data: datas,
      };

因为是异步执行,导致调用 getBasicData() 的时候代码会继续运行不会等 getBasicData() 执行完返回值,datas则等于undefined,怎么能让getBasicData() 执行完后在往下执行

  • 写回答

2条回答 默认 最新

  • 音药 2021-11-23 15:08
    关注

    export default defineComponent({
    setup() {
    const isLoading = ref(false);
    const error = ref(null);
    const data = ref(null);
    const getUsers = async () => {
    isLoading.value = true;
    try {
    const json = await axios('foo/bar');
    data.value = json;
    isLoading.value = false;
    } catch (e) {
    error.value = e;
    }
    };

    return { isLoading, error, data, getUsers }; 
    

    }
    });

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月25日
  • 修改了问题 11月23日
  • 创建了问题 11月23日

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记