Angular Fullcalendar 5 resourceLabelContent退货承诺

Angular Fullcalendar 5 resourceLabelContent退货承诺,angular,typescript,async-await,fullcalendar,Angular,Typescript,Async Await,Fullcalendar,我正在使用带角度的FullCalendar 5。 我想根据数据库中的数据显示自定义资源标签。我使用资源呈现钩子resourceLabelContent返回HTML字符串。 为了获得所需的数据,我必须使用async和await将函数定义为异步函数(参见下面的代码示例) 我的问题是:只要我将关键字async添加到我的函数中,资源标签就不再显示了。我认为这是因为函数现在返回的是一个承诺,而不是“{html:''..}” 我想做的是:我有根据日期附加到不同位置(资源)的用户。我想使用resourceLa

我正在使用带角度的FullCalendar 5。 我想根据数据库中的数据显示自定义资源标签。我使用资源呈现钩子resourceLabelContent返回HTML字符串。 为了获得所需的数据,我必须使用asyncawait将函数定义为异步函数(参见下面的代码示例)

我的问题是:只要我将关键字async添加到我的函数中,资源标签就不再显示了。我认为这是因为函数现在返回的是一个承诺,而不是“{html:''..}”

我想做的是:我有根据日期附加到不同位置(资源)的用户。我想使用resourceLabelContent在资源标签下显示用户的名称。因此,我必须请求我的数据库检索他们,并发出异步请求

有没有一种方法可以使用异步函数显示资源标签,或者我应该避免使用它

代码示例:

async resourceLabelContent(info) {    

  const date = info.date;
  const usersAvailable= await this.service.getUsersAvailable(date, info.resource.id);

  return { html: '<span>'+ usersAvailable+'</span> }
}

编辑:为了更清楚,我添加了一个关于我需要对resourceLabelContent做什么的描述

,因为您的函数是
异步
,is返回一个
承诺
。因此,为了使用它,您必须更改调用代码

resourceLabelContent()
.then(response => response.json())
.then(data => console.log(data)) // <-- Here is your expected data
resourceLabelContent()
.then(response=>response.json())

.then(data=>console.log(data))//在函数本身中,或者当我将其绑定到日历时?请像这样尝试。另外,请在CodeSandbox中复制此代码,以便社区可以查看和使用。事实上,我不知道在哪里执行您的解决方案。我调用resourceLabelContent的唯一时间是当我将其绑定到日历并添加“then()。。。“只显示一个错误。这个答案在fullCalendar回调上下文中没有意义。当执行
then
时,
resourceLabelContent
回调函数将已经完成执行,并且不会返回任何输出。解释这些回调如何工作。没有提到对承诺或异步的支持。另外,
resourceLabelContent()
不是您可以执行的函数。我认为你没有正确理解这个问题。你熟悉fullCalendar吗?不支持Promissions或async,这是否意味着我不能在其中进行异步调用,我必须找到另一种方法来完成我需要的任务?
resourceLabelContent()
.then(response => response.json())
.then(data => console.log(data)) // <-- Here is your expected data