Aktywne Wpisy

Gandezz +363
Jutro z lubą jedziemy do szpitala ze skierowaniem, jakiś płyn się zbiera w dziecku (przy płucu i przy mózgu), ginekolog był dość poważny stąd boimy się co będzie dalej (・へ・)
Trzymajcie kciukiem ( ͡° ʖ̯ ͡°)
#ciaza #zwiazki #zalesie #niewiemjaktootagowac
Trzymajcie kciukiem ( ͡° ʖ̯ ͡°)
#ciaza #zwiazki #zalesie #niewiemjaktootagowac

simplequestion +708
źródło: temp_file8183156768590002098
Pobierz




Co myślicie o takiej funkcji-obiekcie?
const stc = {delayTimer: {},
sleep: (m, name) => new Promise(r => stc.delayTimer[name] = setTimeout(r, m)),
waitClean: async (ms, name)=> {
if (stc.delayTimer[name])
clearTimeout(stc.delayTimer[name]);
delete stc.delayTimer[name];
return await stc.sleep(ms, name);
}
}
Służy do robienia opóźnienia, ale dodatkowo gdy wywołasz ją ponownie zanim upłynie zadany czas, to czyści licznik i liczy od nowa, nie puszcza funkcji dalej.
async function s (){console.log("wy");
await stc.waitClean(5000, "mek");
console.log("my");
}
np gdy w konsoli odpalać będziesz s() zanim upłynie 5 sekund od poprzedniego odpalenia, to "my" nie będzie się pojawiać. gdy przestaniesz, to dokończy ostatnie liczenie i wyświetli się "my".
Co sądzicie? Można to zrobić lepiej?
Komentarz usunięty przez moderatora
Chodzi o formę, bo poprzednia której używałem wymagała osobnej zmiennej itd.
Ale pytam, czy można lepiej?
I jeszcze kwestia, której nie jestem pewien, co się dzieje, gdy kolejne wywołania są zawieszone na
awaiti nigdy nie ruszają dalej?Jak ustawić powiadomienia na maila ze stackoverflow?
Akurat tam to w ogóle w złym miejscu.
Nie jestem pewien, czy GC się tym jest w stanie zająć?
Oczywiście że dla sportu. Dlatego też wrzuciłem do oceny. (na codereview mi ładnie wypisali co jak).