Novo Meteor.js 2.10 e o recurso Async Tracker
Um novo Meteor.js chegou com ótimas atualizações sobre React Skeletons, definições de tipo MongoDB e a possibilidade de executar código reativo assíncrono em um arquivo Tracker.autorun.
Quanto à nossa atualização usual em nosso caminho para um MeteorJS sem fibras, para esta versão, o único novo recurso que temos agora é a possibilidade de executar código assíncrono em um arquivo Tracker.autorun.
Rastreador assíncrono
Antes de discutir o que mudou, é necessário contextualizar como fazíamos no passado. Isso veio de nossos documentos antes de 2.10:
Tracker.autorunpode aceitar uma asyncfunção de retorno de chamada. No entanto, a função de retorno de chamada assíncrona dependerá apenas de funções reativas chamadas antes de qualquer função chamada que retorne uma promessa.
Isso se traduziria em:
O exemplo abaixo não depende de alterações reativas na Meteor.userscoleção. Como não depende de nada reativo, ele será executado apenas uma vez:
Tracker.autorun(async function example1() {
let asyncData = await asyncDataFunction();
let users = Meteor.users.find({}).fetch();
});
Tracker.autorun(async function example2() {
let users = Meteor.users.find({}).fetch();
let asyncData = await asyncDataFunction();
});
Tracker.autorun(async function example1(computation) {
let asyncData = await Tracker.withComputation(computation, () => asyncDataFunction());
let users = Meteor.users.find({}).fetch();
});
Tracker.autorun(async function example2(computation) {
let asyncData = await Tracker.withComputation(computation, () => asyncDataFunction());
let users = await Tracker.withComputation(computation, () => Meteor.users.find({}).fetchAsync());
});
Atualização de tipos do MongoDB
Desde a versão 2.8.1 , temos suporte direto a TypeScript no núcleo do Meteor.js. Nesta nova versão, estamos trazendo as definições de tipo do Core MongoDB Driver e as expondo ao invés de usar uma versão caseira dessas tipagens.
Você pode conferir melhor neste PR feito pela @perbergland .
Outras atualizações
Menções notáveis são:
- Atualizando os esqueletos de reação para a versão 18
- Atualizando o TypeScript para v4.7.4
- Adicionando ganchos assíncronos e método de ganchos claros
Agradecimentos especiais para
- @StorytellerCZ
- @perbergland
- @ebroder
- @harryadel
- @radekmie
- @Grubba27
- @afrokick





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)