«async-await» 태그된 질문

여기에는 async 및 await 키워드를 사용하여 다양한 프로그래밍 언어에서 지원하는 비동기 프로그래밍 모델이 포함됩니다.

2
Async await 키워드는 ContinueWith 람다와 동일합니까?
Async await 키워드를 올바르게 이해했는지 누군가가 친절하게 확인해 주시겠습니까? (CTP 버전 3 사용) 지금까지 메서드 호출 이전에 await 키워드를 삽입하면 기본적으로 A. 즉시 반환을 생성하고 B를 생성합니다. 비동기 메서드 호출이 완료되면 호출되는 "연속"을 생성합니다. 어쨌든 연속은 메서드에 대한 코드 블록의 나머지 부분입니다. 그래서 제가 궁금한 것은이 두 비트의 코드가 기술적으로 …

3
"async void"단위 테스트를 인식 할 수없는 이유는 무엇입니까?
async void 단위 테스트는 Visual Studio 2012 내에서 실행할 수 없습니다. [TestClass] public class MyTestClass { [TestMethod] public async void InvisibleMyTestMethod() { await Task.Delay(1000); Assert.IsTrue(true); } } 비동기 단위 테스트를 원하면 테스트 메서드가 Task를 반환해야합니다. [TestMethod] public async Task VisibleMyTestMethod() { await Task.Delay(1000); Assert.IsTrue(true); } 왜 그래야만하지? async void테스트 방법 …

5
+ =를 가진 비동기 함수
let x = 0; async function test() { x += await 5; console.log('x :', x); } test(); x += 1; console.log('x :', x); 코드 스 니펫 실행결과 숨기기스 니펫 확장 x기록 된 값 은 1및 5입니다. 내 질문은 : 왜 x 5두 번째 로그 의 값 입니까? 이 경우 test후에 …

4
AsyncDispose에서 예외를 처리하는 올바른 방법
새로운 .NET Core 3으로 전환하는 동안 IAsynsDisposable다음과 같은 문제가 발생했습니다. 문제의 핵심 : DisposeAsync예외가 발생하면이 예외는 await using-block 내부에 발생한 예외를 숨 깁니다 . class Program { static async Task Main() { try { await using (var d = new D()) { throw new ArgumentException("I'm inside using"); } } catch …

3
Task.WhenAll의 연속이 동 기적으로 실행되는 이유는 무엇입니까?
Task.WhenAll.NET Core 3.0에서 실행할 때 방법 에 대해 궁금한 점을 확인했습니다 . 간단한 Task.Delay작업을에 단일 인수로 전달 Task.WhenAll했으며 래핑 된 작업이 원래 작업과 동일하게 작동 할 것으로 예상했습니다. 그러나 이것은 사실이 아닙니다. 원래 작업의 연속은 비동기식으로 (바람직하게) Task.WhenAll(task)실행되고 여러 래퍼 의 연속은 연속적으로 동 기적으로 실행됩니다 (바람직하지 않음). 다음은 이 …

2
동기 iterable과 함께 await…
MDN에 따르면 for await...of 두 가지 사용 사례가 있습니다. 이 for await...of명령문은 비동기 반복 가능 오브젝트와 동기화 반복 가능 오브젝트를 반복하는 루프를 작성합니다. 나는 이전을 알고 있었다 : async iterables using Symbol.asyncIterator. 그러나 나는 이제 후자에 관심이있다 : 동기 iterables. 다음 코드는 동기식 iterable-약속 배열을 반복합니다. 각 약속의 성취에 대한 …

1
Rust에서 비동기 함수를 맵에 어떻게 넣을 수 있습니까?
에 대한 비동기 라우터를 작성할 때 비동기 기능을 처리 할 수 ​​없습니다 hyper. 이 코드는 : use std::collections::HashMap; use std::future::Future; type BoxedResult<T> = Result<T, Box<dyn std::error::Error + Send + Sync>>; type CalcFn = Box<dyn Fn(i32, i32) -> dyn Future<Output = BoxedResult<i32>>>; async fn add(a: i32, b: i32) -> BoxedResult<i32> { …
11 rust  async-await 

1
Asp.Net Core Controller에서 IAsyncEnumerable <T> 및 NotFound 반환
a IAsyncEnumerable&lt;T&gt;와 a 를 반환 NotFoundResult하지만 여전히 비동기 방식으로 처리 되는 컨트롤러 작업에 대한 올바른 서명은 무엇입니까 ? 이 서명을 사용 IAsyncEnumerable&lt;T&gt;했으며 기다릴 수 없기 때문에 컴파일되지 않습니다 . [HttpGet] public async Task&lt;IActionResult&gt; GetAll(Guid id) { try { return Ok(await repository.GetAll(id)); // GetAll() returns an IAsyncEnumerable } catch (NotFoundException e) …

1
콜백으로 참조가 필요한 Rust async fn을 사용하는 방법은 무엇입니까?
async fn는를 구현하는 익명 유형을 반환 Future하므로 콜백으로 사용하려면 반환 값을 특성 객체로 변환해야합니다. 이 작업을 수행하는 함수를 작성하려고했지만 수명 문제가있었습니다. async fn모든 매개 변수의 수명을 반환하므로 콜백의 서명도 필요합니다. 콜백의 반환 값에 수명을 어떻게 추가 할 수 있습니까? use futures::future::{Future, FutureExt, LocalBoxFuture}; type Context = (); type AsyncCb = …
10 rust  async-await 

7
C #에서 이벤트가 발생할 때까지 코드 흐름을 차단하는 방법
여기에 Grid와가 Button있습니다. 사용자가 버튼을 클릭하면 Utility 클래스의 메소드가 실행되어 응용 프로그램이 그리드를 클릭하도록합니다. 코드 흐름은 여기서 중지하고 사용자가를 클릭 할 때까지 계속 진행하지 않아야합니다 Grid. 나는 여기 전에 비슷한 질문을했다. 사용자가 C # WPF를 클릭 할 때까지 기다리십시오. 이 질문에서 async / await를 사용하여 답변을 얻었지만 API의 일부로 사용하려고하기 …

2
C #에서 비동기 동작을 위임하기위한 패턴
비동기 처리 문제를 추가하는 기능을 제공하는 클래스를 설계하려고합니다. 동기식 프로그래밍에서는 다음과 같이 보일 수 있습니다. public class ProcessingArgs : EventArgs { public int Result { get; set; } } public class Processor { public event EventHandler&lt;ProcessingArgs&gt; Processing { get; } public int Process() { var args = new ProcessingArgs(); Processing?.Invoke(args); …

3
다른 작업을 기다리는 시작되지 않은 작업을 선언하는 방법은 무엇입니까?
이 단위 테스트를 수행했는데 "await Task.Delay ()"가 대기하지 않는 이유를 이해하지 못합니다! [TestMethod] public async Task SimpleTest() { bool isOK = false; Task myTask = new Task(async () =&gt; { Console.WriteLine("Task.BeforeDelay"); await Task.Delay(1000); Console.WriteLine("Task.AfterDelay"); isOK = true; Console.WriteLine("Task.Ended"); }); Console.WriteLine("Main.BeforeStart"); myTask.Start(); Console.WriteLine("Main.AfterStart"); await myTask; Console.WriteLine("Main.AfterAwait"); Assert.IsTrue(isOK, "OK"); } 다음은 단위 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.