2015-06-11 26 views
7

Qual è la differenza tra $ evalAsync e $ applyAsync? La mia comprensione è che quando uso $ evalAsync da una direttiva, l'espressione valuterà prima del rendering del browser.

Quindi, ad esempio, se volessi scorrere verso una posizione particolare su una pagina ma non mostrare il salto in quel punto, potrei usare questo per scorrere fino alla posizione e dato che si attiva prima che il browser abbia eseguito il rendering, questo bug visivo sarebbe andato.

Tuttavia, qual è lo scopo di applyAsync? Quando è una buona idea usare l'una sull'altra?

risposta

5

Il

$ evalAsync()

eseguirà nella corrente digerire

$ applyAsync()

in uno programmato.

Se avete bisogno di informazioni: Ben Nadel o stack here

0

Ecco cosa utilizzo $ applyAsync per. Fondamentalmente, io uso questo come un $ sicuro. Sai quel fastidioso errore quando provi ad attivare un digest quando ne hai già uno? Se si utilizza $ applyAsync, si otterrà un altro digest, ma si verificherà al termine del ciclo di digest corrente.

$ applyAsync è anche interessante poiché è possibile raggruppare un gruppo di callback per sparare entro il prossimo digest.

+0

volevi dire $ evalAsync invece di $ applyAsync giusto? –

+0

L'OP chiede la differenza tra '$ evalAsync' e' $ applyAsync'. Non fai riferimento a '$ evalAsync' :( – bobjones