Promise e Nedir de Async-Await?

Herkese selamlar,Başlıktaki iki kavramı açıklamadan önce senkron ve asenkron programlama kavramlarını anlamak promise ve async-await yapılarını anlamamızı kolaylaştıracaktır. Senkron Programlama ÇOğu yazılım dilinde varsayılan Davranıştır.kodlar satır satır okunur ve bir işlem bitmeden başka biri başlamaz.asenkron Programlama ise zaman alan i’lemlerin (api istoklerstekler, Istekler, AlanMaMaMaMaMaMAkler, Istekler, Istekler, Istelma, Alanmalmakler, Istekler. sorguuları, zamanlayıcılar) arka Planda Sürdürülmesini ve Programın Geri Kalanının Bu Işlemler Nedeniyle Bloklanmadan Çalışmasınınıni SAğlar. Bu şekilde, Özellikle Kullanıcı Arayüzlerinin Donmadan Çalışması ve yüksek performanslı uylugular geliştirilmesi açısısından büyük Önem Taşır. JavaScript’te Asenkron Işlemleri Kontrollü Biçimde ele Alıp Doğru şekilde hata yönetimi yapabilmek için Promise, assíncrono-await yapıları kullanılır. Promiseasenkron işlemleri kontrollü şekilde yönetmek için promessa nesnesi kullanılır.örneğin bir endpoine recebe metodu ile istek atıp kullanıcının gönderisini getir istiyoruz. function getpost () {retorna nova promessa ((resolver, rejeitar) => {https .get (“(res) => {let data =” “; res.on (” dados “, (chunk) => {data += chunk;}); res. (” end “, () => {se < 300) {
try {
resolve(JSON.parse(data));
} catch (e) {
reject(“JSON parse hatası: ” + e.message);
}
} else {
reject(`Sunucu hatası: ${res.statusCode}`);
}
});
})
.on(“error”, (err) => {rejeição (“İstek başarısız:” + err.message); }); }); } getPost () .Then ((post) => console.log (“Post Verisi:”, Post)) .catch ((err) => console.error (“hata:”, err)); Digite o modo de tela completa Sair da tela cheia Promise o executor BIR Fonksiyonu Bekler. (Resolva, rejeitar) => {} Resolva Işlem Başarıyla ÇAğrılacak fonksiyon vas rejeitar işlem başarısızsa çağrılacak fonksiondur. Então () Işlem Bittiğinde Verdiğimiz Retorno de chamada Fonksiyonunu Çalıştırır. Resolve (ParameTre) Başarılı işlemde Resolva Içina Verdiğimiz Parametre então (function (resultado) {}) metodundaki retorno de chamada fonksiyonuna parametre olarak verilir. Catch () işlem sırasında veya bittiğinde sonuça hata varsa retorno de chamada fonksiyonunu Çalıştır. rejeitar (parametre) metodu içindeki parametre catch (function (error) {}) metodundaki retorno de chamada fonksiyonuna parametre olarak verilir. Finalmente promessa Başarılı, Başarısız, Hatalı Gibi seu Durumdan Bağımsız çalıştırmak Istdiğimiz Zaman Kullanılır. Finalmente (() => console.log (“Istek tamamlandı”)); Gibi Kullanıcıyı BilgilendirMek Için Kullanılabilir. Promise Durumları (Estado) şunlardır: pendente de Henüz Sonuçlanmadı, Beklemede. cumpriu İşlem Başarıyla Tamamlandı, Resolve () ÇAğrıldı. rejeitou İşlem Başarısız Oldu, rejeite () ÇAğrıldı. ASYNC – Awaitbu Kullanım ES8 (ECMAScript 2017) StandArtıyla Ile javascript’e eklenmiştir.promise iLe Verdiğimiz Örneği ASYNC -AWAIT ILE KULLANMAK ISTERSEK: FUNCIONET ANGENCIMENTO (TRIMEIRA (TRIMEIRA {TRINCIONAL console.log (“Post Verisi:”, post); } catch (err) {console.error (“hata:”, err); }} fetchpost (); Digite o modo de tela cheia de saída de tela cheia Async Anahtar Kelimesiyle tanımlanan fonskyion promessa nesnesi döner. Aguarda Sadece Async Ile Işaretlenen Fonksiyon Içinde Kullanılır. Promise’in Çözülmesini (resolução) Bekler. Kod Bloğu Kendi Scope’u Içerisinde Bloklanır. TRY-CACH YAPısıyla hata yönetimi rejeitar Durumu yönetilir. ZiNCIREME então Kullanımı VE Async-Await ILE Karşılaştırması function getData () {return New Promise (resolve => {setTimeout (() => resolve ({usuários: [{ id: 42, name: “Ayşe” }] }), 500); }); } função getUserId (dados) {return New Promise (resolve => {setTimeout (() => resolve (data.users[0].id), 500); }); } função getUserPost (userId) {return New Promise (resolve => {setTimeout (() => resolve ([{ id: 1, userId, title: “Post Başlığı” }]), 500); }); } getData () .THEN (getUserID) .THEN (getUserPost) .THEN (POST => console.log (“Postlar:”, Posts)) .catch (err => console.error (“hata:”, err). Digite o modo de tela completa Sair do modo de tela cheia Async Função fetchUserPosts () {try {const data = wait getData (); const userID = aguarda getUserID (dados); const posts = aguarda getUserPost (UserID); console.log (“postlar:”, postagens); } catch (err) {console.error (“hata:”, err); } finalmente {console.log (“Tamamlandı”); }} fetchUserPosts (); Digite o modo de saída de tela cheia de tela cheia

Fonte

Publicar comentário

Você pode ter perdido