Vue.js Can';不显示异步函数结果

Vue.js Can';不显示异步函数结果,vue.js,fetch,Vue.js,Fetch,我需要在我的html变量中显示:{my_dates}。问题是,我不能让它与fetch一起工作,但可以与旧的ajax请求一起工作 非工作代码: created: function(){ //this.getTableData() url = 'http://dlang.ru/test' async function fetchAsync () { const response = await fetch(url);

我需要在我的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;
    }
});
工作代码:

   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;
    }
});
请试试这个:

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

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

    async function fetchAsync () {
      const response = await fetch(url);
      const data = await response.json();
      Vue.set(app, "my_dates", data);
      app.show = true;
    }

    fetchAsync();

} 

如果您希望能够将
fetchAsync()
的结果分配给
this.my_dates
,那么整个
创建的
钩子方法需要声明为
异步

然后您还需要在
fetchAsync
调用之前等待
wait

已创建:异步函数(){
常量url=http://dlang.ru/test';
异步函数fetchAsync(){
const response=等待获取(url);
return wait response.json();
}
this.my_dates=await fetchAsync();
}

基本上,您将承诺分配给
这个。我的约会日期是
而不是实际结果。这就是为什么在获得promise结果后需要分配“my_dates”属性的原因,例如您提供的jquery。您能用组件代码更新该问题吗?因为不清楚为什么它不工作。您的问题是您没有将
创建的
声明为异步。查看答案以了解更多详细信息。@dfsq
创建的
不应声明为
async
,这可能会对
vue
@Derek产生意外的副作用。如果OP希望像这样使用
this.my_dates=fetchAsync(),这是唯一的方法@dfsq这不是唯一的方法,请参见Sergii的答案example@Derek嗯,附加包装:不一样。但我真的怀疑“会对vue产生意想不到的副作用”这一说法是否属实。其实这并不重要,因为无论如何都会调用
创建的
,所以它返回承诺并不重要。这是我的理解,我可能错了。