Запитання з тегом «async-await»

Це стосується асинхронної моделі програмування, підтримуваної різними мовами програмування, використовуючи ключові слова асинхронізація та очікування.

4
Хороше рішення для await у try / catch / нарешті?
Мені потрібно викликати asyncметод у catchблоці, перш ніж знову викидати виняток (з його трасуванням стека), як це: try { // Do something } catch { // <- Clean things here with async methods throw; } Але, на жаль, ви не можете використовувати awaitа catchчи finallyблок. Я дізнався, що це тому, …

3
Чи є анти-шаблоном використання async / await всередині нового конструктора Promise ()?
Я використовую async.eachLimitфункцію для контролю максимальної кількості операцій за раз. const { eachLimit } = require("async"); function myFunction() { return new Promise(async (resolve, reject) => { eachLimit((await getAsyncArray), 500, (item, callback) => { // do other things that use native promises. }, (error) => { if (error) return reject(error); // …

5
Чи повинен я хвилюватися з приводу попередження "Цей метод асинхронізації не має операторів" await "і буде працювати синхронно"
У мене є інтерфейс, який надає деякі асинхронні методи. Більш конкретно він має визначені методи, які повертають або Task, або Task <T>. Я використовую ключові слова async / await. Я перебуваю в процесі впровадження цього інтерфейсу. Однак у деяких із цих методів ця реалізація не має на що чекати. З …

4
Будь-яка різниця між “await Task.Run (); повернення; " і “повернути Task.Run ()”?
Чи існує концептуальна різниця між двома наступними фрагментами коду: async Task TestAsync() { await Task.Run(() => DoSomeWork()); } і Task TestAsync() { return Task.Run(() => DoSomeWork()); } Чи відрізняється згенерований код? EDIT: Щоб уникнути плутанини Task.Run, подібний випадок: async Task TestAsync() { await Task.Delay(1000); } і Task TestAsync() { return …
90 c#  async-await 

1
Await - помилка зарезервованого слова всередині функції асинхронізації
Я намагаюся з’ясувати проблему з таким синтаксисом: 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); } }; Я постійно …

4
Чому HttpContext.Current дорівнює нулю після await?
У мене є такий тестовий код WebAPI, я не використовую WebAPI у виробництві, але я зробив це через обговорення цього питання: WebAPI Async question У будь-якому випадку, ось образливий метод WebAPI: public async Task<string> Get(int id) { var x = HttpContext.Current; if (x == null) { // not thrown throw …

5
Як чекати перелік завдань асинхронно за допомогою LINQ?
У мене є список завдань, які я створив таким чином: public async Task<IList<Foo>> GetFoosAndDoSomethingAsync() { var foos = await GetFoosAsync(); var tasks = foos.Select(async foo => await DoSomethingAsync(foo)).ToList(); ... } Завдяки використанню .ToList(), всі завдання повинні починатися. Тепер я хочу дочекатися їх завершення та повернути результати. Це працює у наведеному …
87 c#  linq  async-await 

4
Як використовувати await у циклі
Я намагаюся створити асинхронний консольний додаток, який виконує певну роботу над колекцією. У мене є одна версія, яка використовує паралельний для циклу інша версія, яка використовує async / await. Я очікував, що версія async / await працюватиме аналогічно паралельній версії, але вона виконується синхронно. Що я роблю не так? class …
86 c#  .net  async-await 

3
Entity Framework SaveChanges () проти SaveChangesAsync () та Find () проти FindAsync ()
Я шукав відмінності між двома парами вище, але не знайшов жодної статті, яка б чітко пояснювала це, а також коли використовувати ту чи іншу. То яка різниця між SaveChanges()і SaveChangesAsync()? А між Find()і FindAsync()? На стороні сервера, коли ми використовуємо Asyncметоди, нам також потрібно додати await. Таким чином, я не …

4
Чи є щось на зразок асинхронного BlockingCollection <T>?
Я б хотів await про результат BlockingCollection&lt;T&gt;.Take()асинхронно, тому я не блокую потік. Шукаємо щось подібне: var item = await blockingCollection.TakeAsync(); Я знаю, що міг це зробити: var item = await Task.Run(() =&gt; blockingCollection.Take()); але це як би вбиває всю ідею, оскільки ThreadPoolзамість цього блокується інший потік (of ). Чи є …

5
Використання await поза асинхронною функцією
Я намагався зв'язати дві функції асинхронізації разом, оскільки перша мала умовний параметр повернення, що призвів до того, що друга запустилася або вийшла з модуля. Однак я виявив дивну поведінку, якої не можу знайти в специфікаціях. async function isInLobby() { //promise.all([chained methods here]) let exit = false; if (someCondition) exit = …

9
Чекаємо в блоці лову
У мене є такий код: WebClient wc = new WebClient(); string result; try { result = await wc.DownloadStringTaskAsync( new Uri( "http://badurl" ) ); } catch { result = await wc.DownloadStringTaskAsync( new Uri( "http://fallbackurl" ) ); } В основному я хочу завантажити з URL-адреси, а коли це не вдається, за винятком, …

5
Правильний спосіб отримати CoreDispatcher у програмі Windows Store
Я створюю додаток Windows Store і маю код, який потрібно розмістити в потоці інтерфейсу користувача. Для цього я хотів би отримати CoreDispatcher і використовувати його для розміщення коду. Здається, що це можна зробити декількома способами: // First way Windows.ApplicationModel.Core.CoreApplication.GetCurrentView().CoreWindow.Dispatcher; // Second way Window.Current.Dispatcher; Цікаво, який з них правильний? або якщо …

5
Що робить нова функція очікування C #? [зачинено]
Закрито . Це питання має бути більш сфокусованим . Наразі відповіді не приймаються. Хочете покращити це питання? Оновіть питання, щоб воно зосереджувалось на одній проблемі, лише відредагувавши цю публікацію . Закрито 4 роки тому . Удосконалюйте це питання Хто-небудь може пояснити, що awaitробить функція?
83 c#  c#-5.0  async-await 

6
Як я можу запобігти синхронному продовженню завдання?
У мене є якийсь бібліотечний (мережевий) код, який надає TaskAPI на основі очікуваних відповідей на запити на основі TaskCompletionSource&lt;T&gt;. Однак у TPL є роздратування, оскільки, здається, неможливо запобігти синхронним продовженням. Що б я хотів , щоб бути в змозі зробити це або: скажіть a, TaskCompletionSource&lt;T&gt;який не повинен дозволяти абонентам приєднуватися …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.