ile eşzamansız sonsuz bir döngüye nasıl sahip olunur İçinde vaatleri olan "sonsuz" bir while döngüsüne sahip olmam gerekir. İşte bazı örnek kod: bir hata oluşursa hariç Promises
let noErrorsOccured = true
while (noErrorsOccured){
someAsyncFunction().then(() => {
doSomething();
}).catch((error) => {
console.log("Error: " + error);
noErrorsOccured = false;
});
}
function someAsyncFunction() {
return new Promise ((resolve, reject) => {
setTimeout(() => {
const exampleBool = doSomeCheckup();
if (exampleBool){
resolve();
} else {
reject("Checkup failed");
}
}, 3000);
});
}
Yani bu süre döngü, sonsuz çalışmalıdır, daha sonra ise döngü durmalıdır. Bunu nasıl başarabilirim?
Sana neyi demek ve teşekkür
Promise reaksiyonları (çağırarak yerine veya ret işleyicileri) onları tamamladı yürütülecek yol açan bir bir iplik sonra zaman uyumsuz yürütülür. İlk while döngüsü sonsuz bir ** engelleme ** döngü, zaman aşımı geri aramaları asla oluşmaz çünkü asla yerleşmiş sonsuz sayıda sözler yaratma: D _Possibly_ Eğer bir önceki söz sonra 3 saniye beklemek bir zaman aşımı veya aralık zamanlayıcı istiyorum Eşzamansız kontrol için oluşturulan başka bir çek çalıştırmadan önce yerleşmiş olur? – traktor53
Sorun şu ki, sözümü çözmenin ne kadar sürdüğünü gerçekten bilmiyorum, örneğimi açıklığa kavuşturmak için sadece setTimeout() kullandım. Ama Felix Kling'in çözümü mükemmel çalışıyor, bu yüzden başka bir çözüme gerek yok, ama yine de teşekkürler :) – C4rmond4i