Aktywne Wpisy
SK*****ny źle zakrecili olej, trzymałem na siedzeniu. Nie wiem teraz czy to odpiore. Przysięgam, że ich za to pozwe. Macie jakieś rady czym to odmyc z siedzenia? #volvo #mechanikasamochodowa #pomocy
qew12 +206
Udało się dostać brakującą pieczątkę na orzeczeniu. Pierwszy raz szedłem sam tak daleko do przychodni samemu, bez taty. Na początku było okej, ale z czasem zacząłem mocno martwić się nagrywaniem drugiego filmu. Można, to co. Nie martwiłem się swoim głównym zadaniem, pieczątką. Myślę, że to przez skupienie na filmiku.
Próbowałem nagrywać stojąc w miejscu, ale mózg nie bardzo chciał się załączyć, więc musiałem iść i dzięki mniejszemu skupieniu dałem radę.
Nagrałem drugi
Próbowałem nagrywać stojąc w miejscu, ale mózg nie bardzo chciał się załączyć, więc musiałem iść i dzięki mniejszemu skupieniu dałem radę.
Nagrałem drugi
W kwestii asynchroniczności Istnieją Generators, Promises i callbacki, w ES7 async functions.
Ja proponuję:
Wszystkie funkcje oparte o Promises (np.
fetch
) i zwykłe callbacki zmienić w funkcje synchroniczne.Zrezygnować całkowicie z Promises.
Generatory być może znajdą swoje zastosowanie, widziałem takie przykłady gdzie nie chodziło o taką asynchroniczność.
Zamiast wprowadzać async function w wersji z ES7 zrobić tak:
Funkcje definiować bez polecenia
async
, bo jest niepotrzebny, wewnątrz nie będzie żadnej asynchronicznej funkcji i nie będzie potrzebne polecenieawait
.function foo () {
var response = fetch();
}
Taką funkcję będzie można wywołać i synchronicznie i asynchronicznie, w zależności od potrzeby:
(function () {
function foo () {
var response = fetch();
}
foo(); // to będzie synchronicznie
async foo(); // to będzie asynchroniczne
var response = fetch(); // można też użyć fetch bezpośrednio synchronicznie
}());
Nie ma tutaj potrzeby użycia fetch asynchronicznie, bo to funkcja foo jest callbackiem i ona jest asynchroniczna - tak jak przy użyciu generatorów i
yield
lub ES7 async functions.Czy tylko mi się wydaje to o wiele prostsze, jednocześnie bardziej uniwersalne i bardziej intuicyjne?
W przypadku addEventListener nie ma żadnego problemu, bo callback(funkcja wywołana zdarzeniem) i tak jest poza głównym obiegiem.
Wymaga to ponownego przemodelowania wszystkiego, tak jak było jakiś czas temu przy wdrażaniu Promises. Ale przykład Promises pokazuje że jest to wykonywalne.
Co sądzicie? Zauważyliście jakieś przeszkody? Ja nie. Jeśli coś znajdziecie to napiszcie.
Jeśli wam się podoba to zgłoście do Mozilli, Google, W3C i gdzie tam jeszcze trzeba. Nie zapomnijcie o tym napisać i dać linka w komentarzu pod tym psotem.
#webdev #es6 #es2015 #es7 #es2016 #javascript #nodejs #programowanie
Komentarz usunięty przez autora Wpisu
xD
to tak nie działa, nie jesteś w stanie odciąć się od asynchroniczności tylko dlatego że używasz generatorów lub async/await. nadal piszesz asynchroniczny kod, tylko sobie deilkatnie pomagasz async/awaitem.
gdyby taka funkcja powstała to dla nowych osób byloby to jeszcze większe zamierzanie niż poprzednio. druga sprawa że to nie tak prosto da się to załatwić, bo ostatecznie na wierzchołku funkcji asynchronicznych zjadzie się taka, która będzie musiała zwrócić promise na podstawie
w sumie można to powiedzieć o samym javascipt ( ͡° ͜ʖ ͡°)
Nic nie mówię o żadnym odcinaniu od asynchroniczności.
Nie, po prostu jak wywołasz funkcję poleceniem async to ona jest poza głównym obiegiem.
Jak to zamieszanie? przecież tutaj jest mniej dodatkowych poleceń, domyślnie działa wszystko synchronicznie. Wszystko proste i przejrzyste.
Chcę zlikwidować całkowicie Promise. Przecież kiedyś nie było Promise a asynchroniczność
Zgadzasz się?
zrób implementację, wypróbujemy, zobaczymy.
Zrób transpilera w postaci pluginu do babela to zobaczymy w praktyce jak to działa.
Mi się async/await podoba bo jasno mi mówi co się dzieje w kodzie:
async function xx() { return 5; } <-- ta funkcja zwraca Promise
async function yy() {
const config = await fs.readFileAsync( '/config.json' ); <-- program będzie czekał na wynik asynchroniczenj operacji
}
Ja wolę takie rzeczy wiedzieć niż skakać
Od biedy możesz dać komentarz /*await*/. ;)
Jeśli funkcja ma tyć typowo tylko asynchroniczna to możesz jej dać nazwę xxAsync. Tak jak się czasem podpisuje funkcję callback. Tak myślę, że to by wystarczyło?
Z tym await to jest temat, ale na przykładach:
moduły są synchroniczne i wiadomo że są i nie jest to problem. w WebWorkerach też jest
@look997: Może nic? Jest pierdylion języków działających kaskadowo, masz ruby, php, python, java, c#. Node.js jest jaki jest, dla Ciebie może to być wadą ale ja widzę w tym dużo zalet.