首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:无法读取Vue.js axios调用未定义的属性“map”

TypeError:无法读取Vue.js axios调用未定义的属性“map”
EN

Stack Overflow用户
提问于 2021-07-15 01:28:17
回答 1查看 166关注 0票数 0

我试图从远程URL中调用数据源,并且总是得到这个错误TypeError: Cannot read property 'map' of undefined。axios方法封装在axios.js中。

代码语言:javascript
复制
.....
result = new Promise((resolve, reject) => {
      axios.get(url)
        .then((response) => {
          const processedData = response.data.response.map((v) => {
            return v;
          })
          resolve(processedData);
        }).catch((error) => {
          if(typeof(error) == 'object'){
            alert(error) // @@@ I ALWAYS LAND HERE
          }
          reject(error.data); 
        });
    });
 ....

我已经在我的网络控制台中确认,我试图访问的API url运行良好,所有的数据都可以看到。API格式如下:

代码语言:javascript
复制
[
    {
        "id": 1,
        "name": "alpha",
        "build_id": 50,
        "app_env_names": "",
        "app_env_list": [
            ""
        ],
    },
    {
        "id": 2,
        "name": "feature/OPS-05",
        "build_id": 48,
        "image_tag": "feature_DEVOPS-605-jasc-cr-approval-test-71496674-48",
        "app_env_names": "dev",
        "app_env_list": [
            "dev"
        ],
       .....

我试过移除地图,但它不起作用。有人知道解决这个问题的方法吗?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-15 01:45:40

更新:不要引用行下面的代码。这显然是我不知道的承诺结构反模式。因此,一些边缘案件可能无法处理。

使用response = axios.get(url).then(({ data }) => data)代替。

================================================================

就在我贴出这个问题lol后几秒钟就发现了这个问题(正如@Phil所指出的)。由于调用中没有response,因此只需删除它就可以了:

代码语言:javascript
复制
result = new Promise((resolve, reject) => {
        axios.get(url)
          .then((response) => {
            const processedData = response.data.map((v) => {
              return v;
            })
            resolve(processedData);
          }).catch((error) => {
            if(typeof(error) == 'object'){
              alert(error)
            }
            reject(error.data);
          });
      });
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68386789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档