微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

具有异步服务的ASP.NET Razor组件

如何解决具有异步服务的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 举报,一经查实,本站将立刻删除。