javascript - 使用方法时,来自 API 的数组返回空

标签 javascript arrays methods slice

我从 API 接收到一个数字数组,但是当我对其使用方法时,该数组返回空。

当我记录一个示例数组和 API 数组时,两者具有不同的格式(见下图)

two array with different content

第二个数组来自长度为 20 的 API,当我尝试将其切片为 3 时,它以相同的格式返回但为空。

扩展后的示例数组和 API 数组如下所示

The example array and API array when expanded

当我尝试使用以下方式对它们进行切片时:

exampleArr.slice(0,3)
apiArr.slice(0,3)

他们记录关注

Array when slice apply

如有任何帮助,我们将不胜感激。

最佳答案

你的代码是正确的,但我认为你在初始加载页面上的数组是空的,在得到 API 的响应后填充它,你应该使用 Promise 或等待 setTimeout 的响应

    return new Promise(
         function (resolve, reject) {
          ////////////////Your APi/////////
          axios.get('/sample', (response)=>{
       if(response.state === 'success')
           ////// Do slice on array ////
           let doSlice = apiArr.slice(0,3);
           resolve(apiArr.slice(0,3)); // resolve
         } else {
           reject(reason); // reject
         }
      })
      )

或者

  setTimeout(function(){
     apiArr.slice(0,3);
  },1000)

关于javascript - 使用方法时,来自 API 的数组返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52481635/

相关文章:

Javascript将多个对象插入一个空对象

C const 指向 const struct 数组的指针作为函数参数

arrays - 在 VBA 中使用数组代替范围

javascript - 在 JavaScript 中将方法作为参数传递的惯用方法

java - 如何为参数列表和/或返回类型中的 "any map entry"值创建通用方法签名?

c# - 在自定义方法中为数组中的元素分配最小值 (array.Min())

javascript - JQuery 将 onclick 字符串添加到不属于某个类的 anchor

javascript - NVD3折线图X轴仅显示初始9个值

javascript - TypeError : this. props.updateCommentText 不是函数

javascript - Backbone - 集合中所有模型的聚合器事件触发