Questo riguarda il modello di programmazione asincrona supportato da vari linguaggi di programmazione, utilizzando le parole chiave asincrone e in attesa.
C'è qualche differenza concettuale tra i seguenti due pezzi di codice: async Task TestAsync() { await Task.Run(() => DoSomeWork()); } e Task TestAsync() { return Task.Run(() => DoSomeWork()); } Anche il codice generato è diverso? EDIT: per evitare confusione con Task.Runun caso simile: async Task TestAsync() { await Task.Delay(1000); } …
Ho il seguente codice WebAPI di prova, non utilizzo WebAPI in produzione ma l'ho fatto a causa di una discussione che ho avuto su questa domanda: WebAPI Async question Ad ogni modo, ecco il metodo WebAPI incriminato: public async Task<string> Get(int id) { var x = HttpContext.Current; if (x == …
Ho cercato le differenze tra le 2 coppie di cui sopra, ma non ho trovato alcun articolo che spieghi chiaramente al riguardo e quando utilizzare l'una o l'altra. Allora qual è la differenza tra SaveChanges()e SaveChangesAsync()? E tra Find()e FindAsync()? Sul lato server, quando usiamo Asyncmetodi, dobbiamo anche aggiungere await. …
Ho un elenco di attività che ho creato in questo modo: public async Task<IList<Foo>> GetFoosAndDoSomethingAsync() { var foos = await GetFoosAsync(); var tasks = foos.Select(async foo => await DoSomethingAsync(foo)).ToList(); ... } Utilizzando .ToList(), le attività dovrebbero iniziare tutte. Ora voglio attendere il loro completamento e restituire i risultati. Funziona nel …
Sto cercando di creare un'app per console asincrona che esegue un po 'di lavoro su una raccolta. Ho una versione che usa parallel for loop un'altra versione che usa async / await. Mi aspettavo che la versione async / await funzionasse in modo simile alla versione parallela, ma viene eseguita …
Vorrei awaitsul risultato in BlockingCollection<T>.Take()modo asincrono, quindi non blocco il thread. Alla ricerca di qualcosa di simile: var item = await blockingCollection.TakeAsync(); So che potrei farlo: var item = await Task.Run(() => blockingCollection.Take()); ma questo uccide l'intera idea, perché un altro thread (di ThreadPool) viene invece bloccato. C'è qualche alternativa?
Stavo tentando di concatenare due funzioni asincrone, perché la prima aveva un parametro di ritorno condizionale che causava l'esecuzione della seconda o l'uscita dal modulo. Tuttavia, ho riscontrato un comportamento strano che non riesco a trovare nelle specifiche. async function isInLobby() { //promise.all([chained methods here]) let exit = false; if …
Ho il codice seguente: WebClient wc = new WebClient(); string result; try { result = await wc.DownloadStringTaskAsync( new Uri( "http://badurl" ) ); } catch { result = await wc.DownloadStringTaskAsync( new Uri( "http://fallbackurl" ) ); } Fondamentalmente voglio scaricare da un URL e quando fallisce con un'eccezione voglio scaricare da un …
let x = 0; async function test() { x += await 5; console.log('x :', x); } test(); x += 1; console.log('x :', x); Esegui snippet di codiceNascondi risultatiEspandi frammento I valori di xlogged sono 1e 5. La mia domanda è: perché è il valore dix 5 sul secondo registro? Se …
Durante il passaggio ai nuovi .NET Core 3 IAsynsDisposable, mi sono imbattuto nel seguente problema. Il nocciolo del problema: se DisposeAsyncgenera un'eccezione, questa eccezione nasconde tutte le eccezioni generate all'interno del await usingblocco. class Program { static async Task Main() { try { await using (var d = new D()) …
Ho appena fatto un'osservazione curiosa riguardo al Task.WhenAllmetodo, quando eseguivo .NET Core 3.0. Ho passato un'attività semplice Task.Delaycome argomento singolo a Task.WhenAll, e mi aspettavo che l'attività avvolta si comportasse in modo identico all'attività originale. Ma non è così. Le continuazioni dell'attività originale vengono eseguite in modo asincrono (il che …
MDN dice che for await...of ha due casi d'uso: L' for await...ofistruzione crea un ciclo che scorre su oggetti iterabili asincroni e su iterabili di sincronizzazione, ... In precedenza ero a conoscenza del primo: async iterables using Symbol.asyncIterator. Ma ora sono interessato a quest'ultimo: iterables sincroni. Il seguente codice scorre …
Non riesco a gestire le funzioni asincrone durante la scrittura di un router asincrono hyper. Questo codice: 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> …
Qui abbiamo un Gridcon un Button. Quando l'utente fa clic sul pulsante, viene eseguito un metodo in una classe Utility che forza l'applicazione a ricevere un clic su Grid. Il flusso di codice deve arrestarsi qui e non continuare finché l'utente non ha fatto clic su Grid. Ho avuto una …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.