Aktywne Wpisy
![Mantusabra](https://wykop.pl/cdn/c0834752/6ca8761438ed8cef9d8ad8bc7ee3db3903ef122910f45f6b6f04612caddab57c,q60.jpg)
Mantusabra +533
Każdemu kto zaplusuje wpis narysuję jego avatar w paincie. Ehh nudzi mi się( ͡° ͜ʖ ͡°)
![wfyokyga](https://wykop.pl/cdn/c0834752/fc1df860267eef9195884874c97a8ce34e2d35ce6b30951b45b2517115b44699,q60.jpg)
wfyokyga +67
I ciach, złamane żebro lub obojczyk. Guwniak 1-0 Matka
![wfyokyga - I ciach, złamane żebro lub obojczyk. Guwniak 1-0 Matka](https://wykop.pl/cdn/c3201142/8e0d0a32fc0f210fd1266169eb74d3f312ad41ee326d27051afae12a9246c14c,w150.gif)
źródło: temp_file9196269808227903488
Pobierz
Promise <3
Nic tak życia nie ułatwia jak ten ociekający miodem ficzur (。◕‿‿◕。)
#programowanie #javascript #ihatejavascript
PS To prawda.
callback-in-callback
. Pacz:function promiseA(duration){
return new Promise(function(resolve, reject){
setTimeout(resolve.bind(null, true), duration);
});
}
function promiseB(text){
return new Promise(function(resolve, reject){
console.log(text);
resolve(true);
});
}
promiseA(1000)
.then(promiseB.bind(null, 'hello'))
.then(promiseA.bind(null, 500))
.then(promiseB.bind(null, 'world'));
Komentarz usunięty przez autora
W #csharp są
Task
i orazasync
/await
, które doskonale się do tego nadają i mają całkiem przyjemną składnię.W #cpp jest
std::promise
istd::future
, które, afaik, też pozwalają realizować ten pattern. Nie wiem, jak ze składnią "na co dzień";W #ruby jest do tego gem z przyjemną składnia.
Pobieżne przeglądnięcie google mówi, że python ma składniowe wsparcie dla obietnic. Gdy odkryłem
promises
, zafascynowały mnie na@PsichiX: W Javie to się nazywa CompletableFuture
@PsichiX: To ciekawe czemu w następny wersjach języka dodano generatory a w przyszłości zostaną dodane funkcje async.
Cały problem wziął się z tego, że w JS jest tylko jeden wątek i przez to kod asynchroniczny zamienia się w spaghetti callbacków. Promisy trochę łagodzą ten problem, ale w językach z wątkami w ogóle nie trzeba się tak męczyć. Kod, który np. czeka na
@informatyk15000k: hmm nie wiem jak mozna bylo stosowac callbacki bez promisow. Jak sam sie uczylem o callbackach to stworzylem sobie sam promisy i z nich korzystalem. Myslalem ze wszyscy tak robia bo nie jest to zaden wynalazek. W JS po prostu sie tak pisze.
Generatory i funkcje async/await to pieśń przyszłości - pozwolą na pisanie kodu, który wygląda na zwykły sekwencyjny.
Żadne z tych mechanizmów nie są nowością, call/cc jest w scheme, a funkcje async/await na przykład w c# i clojure (core.async).
@informatyk15000k: jak dla mnie nie sa popularne nawet dzis. Raczej sa ciekawostka tak samo jak callbacki. A dokladnie jest to proba uzywania JS tak jak innych jezykow.
@karer: Jeśli piszesz, że callbacki w javascripcie są ciekawostką, to sorry, ale raczej nie jesteś zawodowym programistą js.