具有异步服务的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 (将#修改为@)