Meteor.js 2.10 Baru dan Fitur Async Tracker

Jan 17 2023
Meteor.js baru telah mendarat dengan pembaruan hebat terkait React Skeletons, definisi tipe MongoDB, dan kemungkinan untuk menjalankan kode reaktif asinkron dalam Pelacak.

Meteor.js baru telah mendarat dengan pembaruan hebat terkait React Skeletons, definisi tipe MongoDB, dan kemungkinan untuk menjalankan kode reaktif asinkron dalam file Tracker.autorun.

Adapun pembaruan biasa kami di jalan menuju MeteorJS bebas serat, untuk rilis ini, satu-satunya fitur baru yang kami miliki sekarang adalah kemungkinan untuk menjalankan kode async dalam file Tracker.autorun.

Pelacak Asinkron

Sebelum membahas apa yang telah berubah, perlu diberikan konteks tentang bagaimana kita melakukannya di masa lalu. Ini berasal dari dokumen kami sebelum 2.10:

Tracker.autorundapat menerima asyncfungsi callback. Namun, fungsi panggilan balik async hanya akan bergantung pada fungsi reaktif yang dipanggil sebelum fungsi apa pun yang dipanggil yang mengembalikan janji.

Itu akan diterjemahkan menjadi:

Contoh di bawah ini tidak bergantung pada perubahan reaktif pada Meteor.userskoleksi. Karena tidak bergantung pada reaktif apa pun, ini hanya akan berjalan sekali:

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()); 
  });

Pembaruan Jenis MongoDB

Sejak v 2.8.1 , kami memiliki dukungan TypeScript langsung di inti Meteor.js. Dalam rilis baru ini, kami menghadirkan definisi tipe Driver MongoDB Inti dan memaparkannya alih-alih menggunakan versi buatan sendiri dari pengetikan tersebut.

Anda dapat memeriksanya lebih baik di PR yang dibuat oleh @perbergland ini .

Pembaruan lainnya

Sebutan penting adalah:

  • Memperbarui kerangka reaksi ke versi 18
  • Memperbarui TypeScript ke v4.7.4
  • Menambahkan kait async dan menghapus metode kait

Terima kasih khusus kepada

  • @PendongengCZ
  • @perbergland
  • @ebroder
  • @harryadel
  • @radekmie
  • @Grubba27
  • @afrokick