我用的是Vue.js. This.suspendedReserve veMemo具有以下数据.

this.suspendedReserveMemo [__ob__: Observer]650: "memo3"651: "memo4"652: ""653: ""654: ""655: ""656: ""657: ""658: ""659: ""660:""661: ""662: ""length: 663__ob__: Observer {value: Array(663),dep: Dep, vmCount: 0}[[Prototype]]: Array

enter image description here

我想我可以用这个得到"Memo3".SuspendedPreveMemo[650]但它是未定义的,

我怎么才能拿到"备忘录3"呢?

getSuspendReserveMemo () {
  const roomMemoArray = []
  this.schedule.map(value => {
    axios
      .get(`/shop/${this.selectedShopId}/room/${value.roomId}/suspend_memo`)
      .then(res => {
        if (res.status === 204) {
          roomMemoArray[value.roomId] = ''
        } else {
          roomMemoArray[value.roomId] = res.data
        }
      })
      .catch(error => {
        roomMemoArray[value.roomId] = ''
      })
  })
  this.suspendedReserveMemo = roomMemoArray
  console.log('this.suspendedReserveMemo', this.suspendedReserveMemo)
  console.log('this.suspendedReserveMemo[650]', this.suspendedReserveMemo[650])
},

推荐答案

由于AXIOS请求的异步性,console.log可能会在请求完成之前执行,从而导致未定义的值.

在设置this.suspendedReserveMemo属性并记录值之前,可以使用Promise.all来等待所有AXIOS请求完成.

getSuspendReserveMemo() {
  const roomMemoArray = [];

  const axiosPromises = this.schedule.map(value => {
    return axios.get(`/shop/${this.selectedShopId}/room/${value.roomId}/suspend_memo`)
      .then(res => {
        if (res.status === 204) {
          roomMemoArray[value.roomId] = '';
        } else {
          roomMemoArray[value.roomId] = res.data;
        }
      })
      .catch(error => {
        roomMemoArray[value.roomId] = '';
      });
  });

  Promise.all(axiosPromises)
    .then(() => {
      this.suspendedReserveMemo = roomMemoArray;
      console.log('this.suspendedReserveMemo', this.suspendedReserveMemo);
      console.log('this.suspendedReserveMemo[650]', this.suspendedReserveMemo[650]);
    })
    .catch(error => {
      console.error('Error:', error);
    });
},

Javascript相关问答推荐

无法将nPM simplex-noise包导入在JS项目中工作

vanillajs-datepicker未设置输入值,日期单击时未触发更改事件

硬币兑换运行超时

格式值未保存在redux持久切片中

Rehype将hashtag呈现为URL

Promise Chain中的第二个useState不更新

将本机导航路由react 到导航栏中未列出的屏幕?

WhatsApp Cloud API上载问题:由于MIME类型不正确而导致接收&Quot;INVALID_REQUEST";错误

如何使用JavaScript拆分带空格的单词

扩展类型的联合被解析为基类型

如何防止ionic 输入中的特殊字符.?

FireBase云函数-函数外部的ENV变量

当我点击一个按钮后按回车键时,如何阻止它再次被点击

react -原生向量-图标笔划宽度

JAVASCRIPT SWITCH CASE语句:当表达式为';ALL';

P5.js中矩形内的圆弧

有没有办法在R中创建一张具有多个色标的热图?

使用VITE开发服务器处理错误

在JS/TS中构造RSA公钥

Reaction路由v6.4+数据API:重试加载程序而不显示错误