我用的是有角的FullCalendar 5。我想要显示一个基于数据库数据的自定义资源标签。我使用资源呈现钩子( resourceLabelContent )返回一个HTML。为了获得我需要的数据,我必须使用异步和await将函数定义为一个异步函数(参见下面的代码示例)。
我的问题是:一旦我将关键字异步添加到我的函数中,资源标签就不再显示了。我认为这是因为这个函数现在返回的是一个承诺,而不是一个"{ html:..“}。
我想做的是:我有用户谁是附加到不同的地方(资源)根据日期。我希望使用resourceLabelContent在资源标签下面显示用户的名称。因此,我必须请求我的数据库来检索它们,然后发出一个异步请求。
是否有一种方法可以显示带有异步函数的资源标签,还是应该避免它?
代码示例:
async resourceLabelContent(info) {
const date = info.date;
const usersAvailable= await this.service.getUsersAvailable(date, info.resource.id);
return { html: '<span>'+ usersAvailable+'</span> }
}
以防万一,我如何绑定我的功能:
this.calendarOptions.resourceLabelContent = this.resourceLabelContent.bind(this);
编辑:为了更清晰,我添加了一个说明,说明我需要使用resourceLabelContent做什么
发布于 2021-04-06 06:16:08
因为您的函数是async
,所以is返回一个Promise
。因此,为了使用它,您必须更改调用代码。
resourceLabelContent()
.then(response => response.json())
.then(data => console.log(data)) // <-- Here is your expected data
试试看!
https://stackoverflow.com/questions/66970284
复制相似问题