axios.all方法then返回匿名函数

发布于 2022-09-11 19:40:45 字数 1071 浏览 14 评论 0

loadCityMap: function () {
  const __this = this
  let __paths = []
  xyCityMap.forEach(cn => {
    // cn 为地图名称,根据名称去加载地图json数据
    __paths.push(() => __this.$axios.get(`jsonmap/${cn}.json`))
  })
  console.log(__paths)
  __this.$axios.all(__paths).then(__this.$axios.spread((act, params) => {
    console.log('所有请求都完成了?', act, params)
  }))
}

这个为什么返回是这样?
图片描述

根据官网的例子返回不应该是所有的结果什么的吗?

function getUserAccount() {
  return axios.get('/user/12345');
}
 
function getUserPermissions() {
  return axios.get('/user/12345/permissions');
}
 
axios.all([getUserAccount(), getUserPermissions()])
  .then(axios.spread(function (acct, perms) {
function getUserAccount() {
  return axios.get('/user/12345');
}
 
function getUserPermissions() {
  return axios.get('/user/12345/permissions');
}
 
axios.all([getUserAccount(), getUserPermissions()])
  .then(axios.spread(function (acct, perms) {
    // Both requests are now complete
  }));

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

过潦 2022-09-18 19:40:45

搞定了,被例子误导了。

__paths.push(__this.$axios.get(`jsonmap/${cn}.json`))

就好,不用函数的方式

家住魔仙堡 2022-09-18 19:40:45

你这个问题我今天也遇到了,我想的是,直接打印了函数,说明函数没调用,所以没有return,那我就在push后面,让箭头函数自调用了一下,然后就行了,你可以试试

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文