Pytania otagowane jako async-await

Obejmuje to asynchroniczny model programowania obsługiwany przez różne języki programowania, przy użyciu słów kluczowych async i await.

3
czekają vs Task.Wait - Deadlock?
Nie do końca rozumiem różnicę między Task.Waiti await. Mam coś podobnego do następujących funkcji w usłudze WebAPI ASP.NET: public class TestController : ApiController { public static async Task<string> Foo() { await Task.Delay(1).ConfigureAwait(false); return ""; } public async static Task<string> Bar() { return await Foo(); } public async static Task<string> Ros() …


9
Zagnieżdżanie czeka w Parallel.ForEach
W aplikacji metra muszę wykonać wiele połączeń WCF. Istnieje wiele połączeń, które należy wykonać, więc muszę je wykonywać w pętli równoległej. Problem polega na tym, że pętla równoległa kończy się przed zakończeniem wszystkich wywołań WCF. Jak zmieniłbyś to tak, aby działało zgodnie z oczekiwaniami? var ids = new List<string>() { …

6
Jak mogę używać async / await na najwyższym poziomie?
Przeszukiwałem async/ awaiti po przejrzeniu kilku artykułów postanowiłem sam przetestować. Jednak wydaje mi się, że nie mogę zrozumieć, dlaczego to nie działa: async function main() { var value = await Promise.resolve('Hey there'); console.log('inside: ' + value); return value; } var text = main(); console.log('outside: ' + text); Konsola wyświetla następujące …


3
Jak sprawdzić, które obietnice nie są obsługiwane w Node.js UnhandledPromiseRejectionWarning?
Node.js od wersji 7 ma cukier składniowy async / await do obsługi obietnic, a teraz w moim kodzie dość często pojawia się następujące ostrzeżenie: (node:11057) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): ReferenceError: Error: Can't set headers after they are sent. (node:11057) DeprecationWarning: Unhandled promise rejections are deprecated. In the …


5
Użyj async await z Array.map
Biorąc pod uwagę następujący kod: var arr = [1,2,3,4,5]; var results: number[] = await arr.map(async (item): Promise<number> => { await callAsynchronousOperation(item); return item + 1; }); co powoduje następujący błąd: TS2322: Typu „Promise <numer> []” nie można przypisać do typu „numer []”. Typu „Promise <number> nie można przypisać do typu„ …

14
Konstruktor klasy Async / Await
W tej chwili próbuję użyć async/awaitfunkcji konstruktora klasy. Jest to tak, że mogę uzyskać niestandardowy e-mailtag dla projektu Electron, nad którym pracuję. customElements.define('e-mail', class extends HTMLElement { async constructor() { super() let uid = this.getAttribute('data-uid') let message = await grabUID(uid) const shadowRoot = this.attachShadow({mode: 'open'}) shadowRoot.innerHTML = ` <div id="email">A …


4
Parallel.ForEach vs Task.Run i Task.WhenAll
Jakie są różnice między używaniem Parallel.ForEach lub Task.Run () do asynchronicznego uruchamiania zestawu zadań? Wersja 1: List<string> strings = new List<string> { "s1", "s2", "s3" }; Parallel.ForEach(strings, s => { DoSomething(s); }); Wersja 2: List<string> strings = new List<string> { "s1", "s2", "s3" }; List<Task> Tasks = new List<Task>(); foreach …

8
Pomijanie „ostrzeżenia CS4014: ponieważ to wywołanie nie jest oczekiwane, wykonywanie bieżącej metody jest kontynuowane…”
To nie jest duplikat „Jak bezpiecznie wywołać metodę asynchroniczną w języku C # bez oczekiwania” . Jak ładnie ukryć poniższe ostrzeżenie? ostrzeżenie CS4014: Ponieważ to wywołanie nie jest oczekiwane, wykonywanie bieżącej metody jest kontynuowane przed zakończeniem wywołania. Rozważ zastosowanie operatora „await” do wyniku wywołania. Prosty przykład: static async Task WorkAsync() …
156 c#  async-await 

8
Czy można oczekiwać na zdarzenie zamiast innej metody asynchronicznej?
W mojej aplikacji Metro C # / XAML jest przycisk, który uruchamia długotrwały proces. Tak więc, zgodnie z zaleceniami, używam async / await, aby upewnić się, że wątek interfejsu użytkownika nie zostanie zablokowany: private async void Button_Click_1(object sender, RoutedEventArgs e) { await GetResults(); } private async Task GetResults() { // …

5
Równoległe foreach z asynchroniczną lambdą
Chciałbym obsługiwać kolekcję równolegle, ale mam problemy z jej wdrożeniem i dlatego liczę na pomoc. Problem pojawia się, jeśli chcę wywołać metodę oznaczoną jako asynchroniczna w C #, w obrębie lambda pętli równoległej. Na przykład: var bag = new ConcurrentBag<object>(); Parallel.ForEach(myCollection, async item => { // some pre stuff var …


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.