«async-await» etiketlenmiş sorular

Bu, zaman uyumsuz ve beklenen anahtar kelimeleri kullanarak çeşitli programlama dilleri tarafından desteklenen zaman uyumsuz programlama modelini kapsar.

4
Try / catch / nihayetinde beklemek için iyi bir çözüm mü?
İstisnayı (yığın izlemesi ile) tekrar atmadan önce asyncbir catchblokta bir yöntemi çağırmam gerekiyor : try { // Do something } catch { // <- Clean things here with async methods throw; } Ama maalesef awaitbir catchveya finallyblokta kullanamazsınız . Bunu öğrendim çünkü derleyicinin catchsizin awaittalimatınızdan sonra olanı yürütmek için bir …

3
Yeni bir Promise () yapıcısının içinde zaman uyumsuz / beklemeyi kullanmak bir anti-model mi?
async.eachLimitBir seferde maksimum işlem sayısını kontrol etmek için işlevi kullanıyorum . 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
"Bu eşzamansız yöntem 'bekleme' operatörlerinden yoksun ve eşzamanlı olarak çalışacak" uyarısı hakkında endişelenmeli miyim
Bazı eşzamansız yöntemleri ortaya çıkaran bir arabirimim var. Daha spesifik olarak, Görev veya Görev <T> döndüren tanımlanmış yöntemlere sahiptir. Async / await anahtar sözcüklerini kullanıyorum. Bu arayüzü uygulama sürecindeyim. Ancak, bu yöntemlerin bazılarında bu uygulamanın bekleyeceği hiçbir şey yoktur. Bu nedenle derleyici uyarısını alıyorum "Bu zaman uyumsuz yöntem 'await' işleçlerinden …

4
Beklemeden sonra neden HttpContext.Current null?
Aşağıdaki test WebAPI koduna sahibim, üretimde WebAPI kullanmıyorum ancak bunu bu soru üzerine yaptığım bir tartışma nedeniyle yaptım: WebAPI Async sorusu Her neyse, sorun teşkil eden WebAPI yöntemi şöyledir: public async Task<string> Get(int id) { var x = HttpContext.Current; if (x == null) { // not thrown throw new ArgumentException("HttpContext.Current …

1
Await, eşzamansız işlev içinde ayrılmış bir kelime hatasıdır
Aşağıdaki sözdizimi ile sorunu çözmekte zorlanıyorum: 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); } }; Sürekli şunu söyleyerek …

4
“Await Task.Run (); dönüş;" ve "Task.Run () döndür"?
Aşağıdaki iki kod parçası arasında herhangi bir kavramsal fark var mı: async Task TestAsync() { await Task.Run(() => DoSomeWork()); } ve Task TestAsync() { return Task.Run(() => DoSomeWork()); } Üretilen kod da farklı mı? DÜZENLEME: Karışıklığı önlemek Task.Runiçin benzer bir durum async Task TestAsync() { await Task.Delay(1000); } ve Task …
90 c#  async-await 

3
Entity Framework SaveChanges () ile SaveChangesAsync () ve Find () ile FindAsync () karşılaştırması
Yukarıdaki 2 çift arasındaki farkları araştırıyordum, ancak ne zaman kullanılacağının yanı sıra bunu açıkça açıklayan herhangi bir makale bulamadım. Peki SaveChanges()ve arasındaki fark SaveChangesAsync()nedir? Ve arasında Find()ve FindAsync()? Sunucu tarafında Asyncmetotları kullandığımızda ayrıca eklememiz gerekiyor await. Bu yüzden sunucu tarafında asenkron olduğunu düşünmüyorum. Yalnızca istemci tarafı tarayıcıda UI engellemesini önlemeye …

5
LINQ kullanarak eşzamansız olarak bir görev listesi nasıl beklenir?
Şu şekilde oluşturduğum görevlerin bir listesi var: public async Task<IList<Foo>> GetFoosAndDoSomethingAsync() { var foos = await GetFoosAsync(); var tasks = foos.Select(async foo => await DoSomethingAsync(foo)).ToList(); ... } Kullanarak .ToList(), görevlerin tümü başlamalıdır. Şimdi tamamlanmalarını beklemek ve sonuçları geri vermek istiyorum. Bu, yukarıdaki ...blokta çalışır : var list = new List<Foo>(); …
88 c#  linq  async-await 

4
Await in a loop nasıl kullanılır
Bir koleksiyon üzerinde biraz çalışma yapan eşzamansız bir konsol uygulaması oluşturmaya çalışıyorum. Async / await kullanan başka bir sürüm için paralel döngü kullanan bir sürümüm var. Async / await sürümünün paralel sürüme benzer çalışmasını bekliyordum, ancak eşzamanlı olarak çalışıyor. Neyi yanlış yapıyorum? class Program { static void Main(string[] args) { …
87 c#  .net  async-await 

4
Eşzamansız BlockingCollection <T> gibi bir şey var mı?
Eşzamansız awaitolarak sonucunu istiyorum BlockingCollection&lt;T&gt;.Take(), bu yüzden iş parçacığını engellemiyorum. Bunun gibi bir şey arıyorum: var item = await blockingCollection.TakeAsync(); Bunu yapabileceğimi biliyorum: var item = await Task.Run(() =&gt; blockingCollection.Take()); ancak bu fikir tüm fikri öldürür, çünkü ThreadPoolbunun yerine başka bir iş parçacığı (of ) engellenir. Herhangi bir alternatif var …

5
Bir zaman uyumsuz işlevin dışında await kullanma
İki eşzamansız işlevi birbirine zincirlemeye çalışıyordum, çünkü ilki, ikincisinin çalışmasına veya modülden çıkmasına neden olan bir koşullu dönüş parametresine sahipti. Ancak, özelliklerde bulamadığım garip davranışlar buldum. async function isInLobby() { //promise.all([chained methods here]) let exit = false; if (someCondition) exit = true; } Bu kodumun alçakça bir pasajıdır (tam kapsamı …

9
Yakalama bloğunda bekleyin
Takip koduna sahibim: WebClient wc = new WebClient(); string result; try { result = await wc.DownloadStringTaskAsync( new Uri( "http://badurl" ) ); } catch { result = await wc.DownloadStringTaskAsync( new Uri( "http://fallbackurl" ) ); } Temel olarak bir URL'den indirmek istiyorum ve bir istisna ile başarısız olduğunda başka bir URL'den indirmek …

6
Bir Görevde eşzamanlı sürekliliği nasıl engelleyebilirim?
Taskİsteklere yönelik bekleyen yanıtlar için tabanlı bir API sağlayan bazı kitaplık (soket ağı) kodum var TaskCompletionSource&lt;T&gt;. Bununla birlikte, eşzamanlı sürekliliği önlemenin imkansız görünmesi nedeniyle TPL'de bir sıkıntı var. Ne olur gibi yapabilmek için aşağıdakilerden biri geçerlidir: TaskCompletionSource&lt;T&gt;Arayanların bağlanmasına izin vermemesi gerektiğini söyleyin TaskContinuationOptions.ExecuteSynchronouslyveya sonucu ( SetResult/ TrySetResult) TaskContinuationOptions.ExecuteSynchronouslygöz ardı edilmesi …

5
+ = İle zaman uyumsuz işlev
let x = 0; async function test() { x += await 5; console.log('x :', x); } test(); x += 1; console.log('x :', x); Kod snippet'ini çalıştırHide resultsSnippet'i genişlet Değerleri xkaydedilir 1ve 5. Benim sorum: x 5ikinci kütükteki değer neden ? Eğer testsonra çalıştırılır x += 1(bir zaman uyumsuz fonksiyonu olduğu …

4
AsyncDispose'teki istisnalarla başa çıkmanın uygun yolu
Yeni .NET Core 3'lere geçiş sırasında IAsynsDisposableaşağıdaki sorunla karşılaştım. Sorunun özü: DisposeAsyncbir istisna atarsa, bu istisna await using-block içine atılan istisnaları gizler . class Program { static async Task Main() { try { await using (var d = new D()) { throw new ArgumentException("I'm inside using"); } } catch (Exception …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.