开发者问题收集

无法显示异步函数结果

2018-07-14
1098

我需要在我的 html 变量中显示: {my_dates}。问题是我无法使用 fetch 来让它工作,但可以使用旧的 ajax 请求。

无效代码:

   created: function(){
        //this.getTableData()

        url = 'http://dlang.ru/test'

        async function fetchAsync () {
          const response = await fetch(url);
          return await response.json();
        }

        this.my_dates = fetchAsync();

    } 

有效代码:

$.ajax({
    url: "http://dlang.ru/test",
    success: function (data) {
         Vue.set(app, "my_dates", data);
         app.show = true;
    }
});
2个回答

如果您希望能够将 fetchAsync() 的结果分配给 this.my_dates ,则整个 created 钩子方法需要声明为 async

然后,您还需要在 fetchAsync 调用前面使用 await

created: async function () {
  const url = 'http://dlang.ru/test';

  async function fetchAsync() {
    const response = await fetch(url);
    return await response.json();
  }

  this.my_dates = await fetchAsync();
}
dfsq
2018-07-14

请尝试以下操作:

459005190
Sergii Vorobei
2018-07-14