javascript - Vue.js - 内联调用异步方法

标签 javascript vue.js axios

我想用一个方法在v-for循环中进行API调用,目的是根据UID加载一个对象。

我的方法是这样的:

methods: {
  async getTodo(uid) {
  const data = await axios.get(
    "https://jsonplaceholder.typicode.com/todos/" + uid
  );
  return data;
}

据我了解,您可以像这样包含内联方法:

{{ getTodo(2) }}

但是这总是返回 [object Promise]

我一定是误解了为此目的使用方法,或者方法本身的异步调用是不正确的——如果有人能澄清这里的错误的话。

最佳答案

当 promise 返回时,您可以将异步响应存储在 react 数组中。由于它是响应式(Reactive)的, promise 响应将在每次 promise 返回后自动显示。

做类似的事情:

export default {
  data: {
    asyncDataHolder: []
  },
  methods: {
    async getTodo(uid) {
    const data = await axios.get(
      "https://jsonplaceholder.typicode.com/todos/" + uid
    );
    let index = asyncDataHolder.length + 1;
    asyncDataHolder.$set(index, data);
}

在你的 v-for 循环中:

{{asyncDataHolder[i]}}

关于javascript - Vue.js - 内联调用异步方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56602413/

相关文章:

javascript - "Inventing on Principle"视频中的 Javascript 树的源代码

javascript - 将参数传递给 Vue.js 中 multiselect 的 @select - vue-multiselect

javascript - Vue 2组件不调用主实例函数

javascript - axios 并发请求数 : any way to get the results from the successful requests even if some have failed?

javascript - Chart.js : how I can adjust Pie chart radius?

javascript - 加载具有样式和功能的选择选项

javascript - 在第一次和第二次点击+链接延迟时为动画创建不同的延迟

vue.js - 验证在第一个输入上返回 false,在下一个输入上返回 true

javascript - 如何在需要 header 的axios发布请求中具有配置参数

javascript - Axios Api 在 Heroku 中调用