Press "Enter" to skip to content

Is async / await useless?


buon lunedì mattina oggi siamo
intraprendendo un piccolo esperimento mentale
è un lavandino un peso davvero utile o lo è
è solo zucchero soffice per le persone
non può essere disturbato per imparare funzionale
programmazione
Io sono mg J e io sono David tu sei
guardare la funzione
[Musica]
[Musica]
potresti notare che ci sono due persone
qui invece di una persona normale
potresti riconoscere David da prima
episodi sì, non ero il facebook
messenger entrambi i video di programmazione
e sto anche facendo molti affari
roba dietro le quinte dietro il
l’ episodio di oggi è sponsorizzato da
punta in alto perché sono attualmente
assumere se si conosce qualcuno che lo farebbe
piacerebbe lavorare con reagire nativo yay no
js ‘mmm nel cuore di Stoccolma quindi
si prega di inviare a una punta al comm / FF
quel collegamento è anche nell’episodio
descrizione è una seconda attesa davvero
che inutile aspettare bene non lo so
davvero la cosa è che tutti sono andati a
lavandino via alla arrivato sulla scena
tutti erano davvero entusiasti
e finalmente possiamo programmare come noi
era solito fare ai vecchi tempi in modo sincrono
sì esattamente in questo è come se fosse
come la cosa che mi infastidisce
è un modo di tipo di nascondere che le cose
sono un sincrono ma non proprio e io
non lo so l’idea dietro di esso e io
fatto un intero episodio nell’unico a
sink await keyword è creare la scrittura
codice che è sincrono ma scorre
come il codice sincrono la cosa siamo noi
già hanno un po ‘di quello con le promesse
e vorrei solo attaccare
Penso che attendo per un po ‘come
davvero tentare di dove per ogni simile
nove in modo sincrono via per esempio là fuori
prova a scrivere davvero delle belle promesse
codice e vedere se ciò che piace quanto grande di un
il miglioramento è davvero quando viene
giù pubblicato come ieri quando
registrando questo video ho postato una discussione
in primo piano sul forum chiedendo questo stesso
domanda e vedi che hey possiamo noi solo
aiutarsi a vicenda e provare a postarne alcuni
esempi in cui cerchiamo davvero di piacere
fare un lavandino via brillare il più
possibile e poi basta provare a riscrivere
anche con promesse possiamo e
le persone pubblicano alcune davvero molto buone
va tutto bene così perchè non lo fai
non è molto familiare con questo esempio
attraversarlo tutto bene abbiamo questa una
funzione sincrona ottenere hamburger it
prende un server e un hamburger predefinito così
controlleremo qui se e poi saremo in attesa
il server ha degli hamburger se noi
non lo faremo prima di tornare
l’hamburger di default e poi controlliamo fare
abbiamo mangiato degli hamburger e abbiamo solo
effettuare una chiamata ordinaria ottenere il numero di
hamburger mangiati oggi sì, così è la chiamata
sincrono è un ok sincrono
e poi controlliamo il numero massimo di hamburger così noi
possiamo vedere che abbiamo un?
numero massimo di hamburger che permettiamo
mangiare tutti i giorni e ma dobbiamo chiedere
il server per quello sì e questo è un
sincrono quindi aspettiamo questo e
poi prima mangiato meno hamburger di noi
sono autorizzati a quindi possiamo chiedere il
servizio per caricarci un hamburger sì e se
ci piace se ci stiamo facendo solo noi
restituire l’hamburger predefinito sì , questo è così
è ovviamente un esempio sciocco come e questo
ha anche un’orribile architettura software
come perché è il numero di ottenere hamburger
mangiato oggi sincrono ma il massimo
numero di hamburger al giorno è come
sembra che dovrebbe mangiare peggio ma
come un Magnus cos’è questo ma quello è
non il punto di questa cosa come il
il punto è trovare un esempio in cui a
il peso della zavorra funziona davvero così andiamo
proviamo a guardare, provo a riscrivere
tutto bene non era solo io
come me era una combinazione dell’altro
quattro membri e io proviamo a riscrivere
questo in un flusso sincrono e questo è
quello che abbiamo finito ci piace
come la funzione precedente, eccetto la
server e un hamburger predefinito predefinito quindi
chiamiamo server ha hamburger che ritorna
una promessa
che si risolve in questo ha hamburger come
hamburger booleano e se non ce l’ha
qualsiasi hamburger sul server restituiamo il
burger di default e poi noi altrimenti
torna alla chiamata ottieni il numero massimo di
hamburger al giorno e una volta che lo riceviamo
oggi possiamo ottenere il numero di hamburger
e confrontare che alle spalle hamburger
che abbiamo ricevuto e se ci è permesso
per mangiare più hamburger oggi carichiamo hamburger
altrimenti restituiremo il valore predefinito
hamburger come si fa a livello aziendale
programmazione quindi mi piace un po ‘ma
inizia a sentirsi come l’intero scopo
con le promesse era come uscire
questo richiamo dell’inferno sì, perché
tutto è stato annidato e ora siamo tornati
nel mondo annidato, sì, questo esempio
è scelto perché dà questo il
esempio di esempio di hamburger come se avesse no
nidificare perché questo è un
le variabili qui sono disponibili per
Tutta la funzione in pratica scriviamo a
sorta di uno stato globale condiviso per il
funzione e questo significa che siamo gentili
di esso diventa come il nidificazione è è
non lì ma se abbiamo uno sguardo nel
nel rifrattore vediamo che in realtà
ottenere un livello di nidificazione non è troppo male
è solo un livello di nidificazione davvero
sembra più qui perché sono rientrato così
che puoi guardarlo su un piccolo schermo
ma è ce n’è ancora
indentazione che dice che penso di esserlo
fare un bel po ‘ di cose intelligenti qui
così che lo rende di più sì
le espressioni ternarie sono qualcosa
che tendo a cadere nell’uso
perché si sente bello avere solo
queste funzioni one-liner che usano
espressione ternaria allora mi giravo
espressioni come un anno come questo
mi fa piacere farlo, ma se davvero
concedimi di cadere fuori uso
trasforma Ariete e consenti allo sprawl di co2 a
un po ‘ questo è lo stesso codice tranne
che uso come queste multi linea
funziona invece e basta usare se
dichiarazioni invece del turno Ariete e
ora il codice non sembra così spaventoso
sembra molto simile all’immagine I
credo che il codice di peso sì lascia esattamente
te lo mostro di nuovo come all’improvviso
non sembra tutto ciò che paura in realtà io
pensa che quasi la promessa
l’esempio sembra quasi un po ‘di più
semplice perché ci piace il
flusso asincrono è più in faccia
dipende da come se lo vuoi
la tua faccia o no davvero ma se ti va
IKEA da asporto per me quando ho fatto questo era
quello eh
un sacco di asynch attende esempi fuori
ci sembra spesso più accessibile
e bello perché non c’è molto
l’intelligenza sta succedendo in loro perché
le promesse tendono almeno per me
incoraggiato un po ‘di intelligenza e poi
return Ariete e cose del genere che
semplicemente non è mmm
per me piace che potrebbe sembrare spaventoso
ma se lo fai come questo è un po ‘
accessibile quindi qui ne abbiamo un altro
esempio abbiamo una funzione sincrona
elaborare tutti gli utenti in terra che chiamiamo il
database e aspettiamo che ottenga il
utenti dal database ma poi vogliamo
per scorrere ogni utente e processo
li in qualche modo e abbiamo bisogno di ogni utente
ID per farlo e poi aspettiamo il
risultato prima di continuare su sì
Esattamente
quindi questo elabora ogni utente estinguere gli alieni
questo è in realtà l’ esempio che io
usato nel lavandino del video di attesa da mostrare
dove un pozzo di peso funziona davvero bene
rispetto alle promesse e II faccio a
refactoring in quel video dove uso
come ridurre a
creare in questo modo questa promessa promessa
thingamabob ma che lo sostituisce quale
che non è male ma mi piace un po ‘
per rivisitare e vedere se possiamo farlo
anche meglio di questo è anche vero
codice da un’applicazione con
che vado dritto dove siamo realmente
dovevo fare qualcosa come questo facciamolo
dare un’occhiata al refactoring che ho concluso
con un sacco di persone aiutare con
questo pure così se tu se sei un
membro del fondo conforme è possibile controllare
la discussione completa cliccando qui o
questo è anche collegato nell’episodio
descrizione quindi c’è molta discussione
andando avanti su questo argomento e molto
il tema della fattoria si è rivelato essere
davvero molto interessante, va bene così
questo è quello che ho finito con la mia iniziale
soluzione dove questo era molto peggio ma
Chris Collins veramente inchiodato con
queste fantastiche cose destrutturanti quindi lasciate
io ti guido attraverso questo facciamo il DB
interrogare proprio come la cosa precedente ma
allora otteniamo una promessa e noi utenti
passali in questa attesa per ciascuno
funzione e passiamo anche in questo
funzione di elaborazione così per ciascuno che aspettiamo
per ogni utente da elaborare qui così noi
chiamare l’utente del processo in cui l’ID utente e
ciò restituirà una promessa che faremo
aspetta e poi promette solo come
proprio come l’ altro va bene così
attendere che ciascuna sia una funzione generica è
non proprio consapevole dei molestatori non è a
tutti gli abusi consapevoli che prende come prima cosa
argomento questa funzione di processo che è
questo e come secondo argomento,
prende un array e usa un raid
struttura qui per rompere il
testa dalla coda il diritto così testa
sarà come il primo elemento dell’array
e poi la coda sarà come la
rimanenze è il primo a rimanere il
resto è un array e l’elemento è
non un array preciso
e ignoriamo questo per ora perché
quello è il secondo ciclo quando noi
prendi la testa qui passiamo a processare
la funzione e la funzione di processo lo faranno
elaborare l’utente restituire una promessa che
allora aspettiamo che si risolva e poi
creiamo una nuova attesa per ogni funzione
qui ci chiamiamo ricorsivamente
proprio così ci chiamiamo
siamo come il resto della coda così a
parla così abbiamo elaborato la testa e ora
elaboriamo la coda che è poi tutto
gli utenti e poi ci piace un po ‘
cazzo cazzo cazzo cazzo tagliato la testa e
sì continua a lavorare verso il basso esattamente
quindi abbiamo usato questo è molto standard questo
è una programmazione funzionale standard
visto invece di usare i loop che usiamo
funzioni ricorsive a cui piace ottenere un
parte più piccola, più piccola e più piccola di
la nostra parte Reese del nostro risultato imposta tutto il
tempo così abbiamo tagliato la testa che passa giù
la coda tagliata via il ted passa giù
coda ma poi dobbiamo avere una fine
caso anche esattamente e questo è quello che
succede qui è quando noi quando non lo facciamo
avere una testa più
ci siamo solo risolti e poi lo siamo
fatto mi piace perché è carino
pulito perché è ricorsione e io solo
come la ricorsione perché si sente semplicemente
è molto so che è stranamente quello che tu
significa che semplicemente si sente in qualche modo lo è
è un modo molto soddisfacente di
programmare è difficile
la ragione, ma è anche alla sua
essenza molto semplice così come questo caso
qui è stato difficile per me capirlo
ma una volta ho capito che il codice è così
Semplicemente guarda e so che è come
tutto questo questo peso per ciascuno è così
è generato perché puoi usare
per qualcosa fondamentalmente sì e me
sentirsi come questo è un po ‘come il
svantaggio e il vantaggio di utilizzare
promette allo stesso tempo
menzionato sul forum che mi sono sentito
le promesse tendono a incoraggiare l’intelligenza
e scala ho detto sì, ma si potrebbe anche
pensaci come se ti incoraggiassero
pensare al tuo codice oh, quindi cosa?
succede qui ho effettivamente trovato che noi
potrebbe rompere questo a parte in un generico
caso così ora possiamo usare se ne abbiamo di più
di questo tipo di elaborazione sequenziale noi
ora hanno una funzione generica per farlo
e probabilmente ad essere onesti se ce n’è
una biblioteca di promesse funzionali questo
la funzione sarebbe probabilmente in esso in modo che
non avremmo dovuto scrivere così promesse
tendono a rendere ne pensate
componibilità e cosa possiamo estrarre
mentre il peso di un sinker tende a non del tutto
fallo perché perché non lo fa
diventare abbastanza ovvio che potrebbe avere
un po ‘di spazio per il disaccoppiamento o l’estrazione
qui e anche penso che sia molto io sia un
molto chiaro Co piace sempre quando è a
cappotto trasparente come capisci cosa c’è
andando avanti tu ritorni lì a interrogarti
prendi gli utenti e poi devi
elaborare ogni utente aspetta per loro e il tuo
Protestante è semplicemente semplice e chiaro
va bene quindi ci sono altre cose nel
argomento del forum di cui voglio parlare
c’è c’è davvero molto bene
esempio di dove penso davvero
fa bene ed è super difficile da ottenere
lavoro che è fondamentalmente quando hai
più cose come quando inizi
l’aggregazione dei dati inizia a raccogliere dati
in una cosa questo è anche un errore
gestire questo è il mio argomento principale che amo come
stanno gestendo come promesse quando ne hai bisogno
come divergere e gestire la maniglia
roba come te, come è diventata una promessa
molto più attraente ma questo episodio lo è
venendo su 50 minuti o così e io
pensa che voglio dirlo per il prossimo
settimana e mi piace
taglia questo e come riassumere
di ciò di cui abbiamo parlato sicuramente, così abbiamo guardato
nell’esempio di hamburger raccogliamo hamburger
e vediamo se abbiamo hamburger sul server
e il refactoring sembrava un po ‘
come questo ci ha dato più indentazione così
non ha il fascino piatto del
ascetico di peso ma è davvero così
ancora non eccessivamente orribile da trattare
con I potrebbe ancora molto semplice
e facile da ragionare su e soprattutto
quando lo abbiamo rotto e non l’abbiamo fatto
fare molta intelligenza, quindi abbiamo guardato
a questo esempio che ha fatto sequenziale
elaborando il nostro utente e siamo stati solo
un po ‘come il caso migliore per me
il tuo peso giusto sì questo è questo
è il caso tipico di esempio dell’utilizzo di I
penso che aspetta sì, penso che questo sia un
molto un sacco di persone usano questo per vendere
pensa via non dire che mi piace no è
va bene mi piace che non voglio cacare
troppo su un lavandino di distanza non è questo il
punto di questo episodio questo è giusto
sfidando come un oceano, sì e vedi
ti piace se è veramente corretto come
un’erbaccia non ha odio contro un lavandino
via e questo è quello che abbiamo finito con
è questa una piccola biblioteca
funzione chiamata che chiamiamo aspetta H
questo è probabilmente in un sacco di funzionalità
linguaggi di programmazione che semplicemente
elabora in modo ricorsivo un array e
presume che ogni processo ogni chiamata a
questo restituisce la promessa e poi semplicemente
continua a incatenarlo ed è andato tutto bene
e ancora una volta l’episodio di oggi è sponsorizzato
da tip top e attualmente stanno assumendo
se conosci qualcuno che vorrebbe
lavorare con reagire nativo e nodejs nel
cuore di Stoccolma per favore mandateli a
tip-top calma slash FFF che il collegamento è anche
nella descrizione dell’episodio hai giusto
guardato un episodio di fun fun function I
rilasciato questi ogni lunedì mattina oh
aspettare
sotto GMT se sei smemorato puoi
iscriviti cliccando qui o puoi
guarda un altro episodio adesso
cliccando qui
Sono mpj e sono David fino al prossimo lunedì
la mattina rimani curioso
Please follow and like us: