Articles of async await

Uso dell’attesa nelle visualizzazioni del razor

È ansible await attività nelle viste Razor .cshtml? Di default si lamenta che può essere usato solo nei metodi segnati con async quindi mi chiedo se forse c’è un interruttore nascosto da qualche parte che lo abilita?

Timeout in async / await

Sono con Node.js e TypeScript e sto usando async/await . Questo è il mio caso di prova: async function doSomethingInSeries() { const res1 = await callApi(); const res2 = await persistInDB(res1); const res3 = await doHeavyComputation(res1); return ‘simle’; } Mi piacerebbe impostare un timeout per la funzione generale. res1 dire se res1 impiega 2 secondi, […]

Controller ASP.NET: un modulo o un handler asincrono è stato completato mentre era ancora in attesa un’operazione asincrona

Ho un controller ASP.NET MVC 4 molto semplice: public class HomeController : Controller { private const string MY_URL = “http://smthing”; private readonly Task task; public HomeController() { task = DownloadAsync(); } public ActionResult Index() { return View(); } private async Task DownloadAsync() { using (WebClient myWebClient = new WebClient()) return await myWebClient.DownloadStringTaskAsync(MY_URL) .ConfigureAwait(false); } } […]

Attendere è un errore di parola riservato all’interno della funzione asincrona

Sto lottando per capire il problema con la seguente syntax: export const sendVerificationEmail = async () => (dispatch) => { try { dispatch({ type: EMAIL_FETCHING, payload: true }); await Auth.sendEmailVerification(); dispatch({ type: EMAIL_FETCHING, payload: false })) } catch (error) { dispatch({ type: EMAIL_FETCHING, payload: false }); throw new Error(error); } }; Continuo a ricevere errori […]

Async Task.WhenAll con timeout

C’è un modo nella nuova libreria async dotnet 4.5 per impostare un timeout sul metodo Task.WhenAll . Voglio recuperare diverse fonti e fermarmi dopo dire 5 secondi e saltare le fonti che non sono state completate.

Come eseguire Async.AwaitTask su semplice task (non Task )?

Sto cercando di consumare una libreria C # in F #. La libreria usa pesantemente async / await. Voglio usare all’interno di un stream di lavoro async { … } in F #. Vedo che possiamo Async.AwaitTask sui metodi C # asincroni che restituiscono l’ Task , ma che ne è di quelli che restituiscono […]

Come attendere un elenco di attività in modo asincrono usando LINQ?

Ho un elenco di attività che ho creato in questo modo: public async Task<IList> GetFoosAndDoSomethingAsync() { var foos = await GetFoosAsync(); var tasks = foos.Select(async foo => await DoSomethingAsync(foo)).ToList(); … } Usando .ToList() , le attività dovrebbero iniziare tutte. Ora voglio attendere il loro completamento e restituire i risultati. Funziona nel blocco sopra … var […]

È ansible “attendere il rendimento restituire DoSomethingAsync ()”

I blocchi iteratori regolari (ad esempio “yield return”) non sono compatibili con “async” e “await”? Questo dà una buona idea di quello che sto cercando di fare: async Task<IEnumerable> Method(String [] Strs) { // I want to compose the single result to the final result, so I use the SelectMany var finalResult = UrlStrings.SelectMany(link => […]

Come posso evitare continuazioni sincrone su un’attività?

Ho un codice libreria (socket networking) che fornisce un’API basata sulle Task per le risposte in sospeso alle richieste, in base a TaskCompletionSource . Tuttavia, c’è un fastidio nel TPL in quanto sembra imansible prevenire continuazioni sincrone. Quello che vorrei essere in grado di fare è: indicare una TaskCompletionSource che non dovrebbe consentire ai chiamanti […]

Se la mia interfaccia deve restituire Attività qual è il modo migliore per avere un’implementazione senza operazioni?

Nel codice seguente, a causa dell’interfaccia, la class LazyBar deve restituire un’attività dal suo metodo (e non può essere modificata per motivi di argomenti). Se l’implementazione di LazyBar è inusuale in quanto avviene in modo rapido e sincrono, qual è il modo migliore per restituire un’attività non operativa dal metodo? Sono andato con Task.Delay(0) qui […]