如何解决具有异步服务的ASP.NET Razor组件
我对ASP.NET相当陌生(或者说,像过去几年一样更新)。我现在创建了一个服务,用于从Google Firestore
加载数据。这是从云中加载数据的方法
public async Task<IEnumerable<MyDocument>> GetTempDocs()
{
var qs = await db.Collection("temp").GetSnapshotAsync();
return qs.Documents.Select(x => new MyDocument() { Data = x.ToDictionary(),Id = x.Id });
}
非常简单和有效。但是现在,为了可视化数据,我创建了一个Razor Component
@using Microsoft.AspNetCore.Components.Web;
@using MyProject.Models;
@using MyProject.Services;
@inject FireStoreService firestoreService;
<div class="card-columns">
@foreach (var document in firestoreService.GetTempDocs())
{
<div class="card">
<div class="card-body">
<h5 class="card-title">@document.Data["title"]</h5>
</div>
</div>
<div class="card-footer">
<button @onclick="(_e => firestoreService.someOtherFunction(document))" class="btn btn-success">SomeText</button>
</div>
}
</div>
现在的问题是,GetTempDocs()
是asynchronous
。那么,我应该如何等待结果呢?应该在哪里等待呢?我在另一页上读到,等待的是后端职责,但调用是在前端(即客户端)完成的。
不相关的问题:onclick()
中的html按钮中的Model Page
方法(例如默认的Index.cshtml
)和{{ 1}}。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。