개발꿈나무
[Blazor] html에서 Task.Run()을 이용하여 비동기 호출하기 본문
반응형
Task.Run(async() => await GetChangeStruct(item.DCT_NO)).Wait();
<TelerikGrid>
<GridColumns>
<GridColumn>
<Template>
@{
W_DCN item = context as W_DCN;
Task.Run(async() => await GetChangeStruct(item.DCT_NO)).Wait();
}
</Template>
</GridColumn>
</GridColumns>
</TelerikGrid>
@code{
List<CS_INDEX> Index_CS_List { get; set; }
private async Task GetChangeStruct(string dctno)
{
var change_struct = await DcnListService.GetChangeStructure(dctno);
Index_CS_List.Clear();
for (int i = 0; i < change_struct.Count(); i++)
{
Index_CS_List.Add(
new CS_INDEX
{
CS = change_struct[i],
ROW_NUMBER = i + 1
});
}
}
}
Task.Run()을 이용하여 async 메서드를 html에서 호출하여 사용할 수 있다.
Task.Run()을 이용하여 비동기 호출을 하면 작업이 끝날 때까지 기다리지 않기 때문에
await Task.Run()을 사용하거나 Task.Run().Wait()로 작업이 끝날 때까지 기다려준다.
await Task와 Task.Wait 차이점은 아래의 게시글에 잘 설명되어 있다.
[C#] Task .Wait() vs await 차이점
Task.Wait과 await의 차이점 Stack Overflow에서 발견한 흥미로운 질문과 답변입니다. set 출처: https://stackoverflow.com/questions/9519414/whats-the-difference-between-task-start-wait-and-async-await ka..
cypsw.tistory.com
반응형
'C# > Blazor' 카테고리의 다른 글
[Blazor] 특정 페이지에서 Nav bar 없애기 (0) | 2022.02.15 |
---|---|
[Blazor] Page 간 데이터 전송 (service 이용) (0) | 2022.01.04 |
[Blazor] HTML Tag Encoding (0) | 2021.12.09 |
[Blazor] Blazor에서 JavaScript 사용하기 (div.empty() 작업) (0) | 2021.11.22 |
[Blazor] XML Node 읽기 - XmlNodeType별로 출력하기 (0) | 2021.10.22 |
Comments