Dva: Apakah efek mendukung async/menunggu?

Dibuat pada 8 Okt 2018  ·  9Komentar  ·  Sumber: dvajs/dva

Sesuai judulnya

Komentar yang paling membantu

Mengatakan bahwa Generator kuat, saya hanya ingin mengeluh bahwa goto lebih kuat, Anda bisa melompat ke mana pun Anda mau

Semua 9 komentar

Tidak, dva didasarkan pada redux-saga, redux-saga menggunakan Generator untuk membuat efeknya dapat diuji, Anda dapat membaca balasan ini untuk detailnya

https://github.com/redux-saga/redux-saga/issues/987#issuecomment -301039792

Saya baru saja membaca masalah yang Anda posting kepada saya. Untuk membuatnya jelas, penulis redux-saga terlalu malas untuk mengubahnya haha

Saya juga punya pertanyaan. Saya memeriksa kode sumber dva. 函数 dalam objek efek disediakan untuk eksekusi eksternal dan perlu didefinisikan sesuai dengan spesifikasinya. Eksternal perlu didefinisikan sebagai Generator fungsi, dan kami menggunakan Tidak peduli dengan eksekusi eksternal, itu akan mengeksekusi next() , jadi kodenya masih sangat segar.

Saya baru saja membaca masalah yang Anda posting kepada saya. Untuk membuatnya jelas, penulis redux-saga terlalu malas untuk mengubahnya haha

Lucu, asinkron, menunggu kontrol asinkron jauh lebih kuat daripada fungsi generator

Tidak, dva didasarkan pada redux-saga, redux-saga menggunakan Generator untuk membuat efeknya dapat diuji, Anda dapat membaca balasan ini untuk detailnya

redux-saga/redux-saga#987 (komentar)

Masalah ini tidak menjelaskan mengapa generator dapat diuji. @xiaosongxiaosong

Dengan async, menunggu tidak dapat diuji? (Pertanyaannya sudah lama. Apakah karena tidak ada yang membahasnya)

@951565664

async, asynchrony kontrol menunggu jauh lebih kuat daripada fungsi generator

BengBu-YueZhang telah berbicara tentang inti masalah ini. Pemahaman saya tentang generator tidak terlalu menyeluruh. Biarkan saya berbicara tentang pemahaman saya yang dangkal:

  1. fungsi generator dipanggil, mengembalikan objek pengunjung ke pemanggil, generator objek pengunjung selain memungkinkan pelaksanaan pemulihan, kami juga akan menentukan ekspresi hasil mengembalikan nilai pada saat pemulihan
  2. Fungsi async adalah gula sintaksis dari fungsi Generator. Fungsi ini memiliki eksekutor bawaan. Setelah panggilan, ia akan secara otomatis mengeksekusi dan menampilkan struktur akhir. Pemanggil tidak dapat mengontrol jeda dan melanjutkan fungsi asinkron, juga tidak dapat menyuntikkan nilai ke dalam fungsi async.

Ada dua paragraf dalam bab generator ECMAScript 6 Memulai, yang lebih berguna untuk memahami masalah ini.

Ekspresi hasil itu sendiri tidak mengembalikan nilai, atau selalu mengembalikan tidak terdefinisi. Metode selanjutnya dapat mengambil parameter, yang akan digunakan sebagai nilai balik dari ekspresi hasil sebelumnya.

Fungsi generator dari status jeda untuk melanjutkan berjalan, status konteksnya (konteks) tidak berubah. Melalui parameter metode selanjutnya, ada cara untuk terus menyuntikkan nilai ke badan fungsi setelah fungsi Generator mulai berjalan. Dengan kata lain, Anda dapat menyuntikkan nilai yang berbeda dari luar ke dalam pada berbagai tahap fungsi generator untuk menyesuaikan perilaku fungsi.

Mengatakan bahwa Generator kuat, saya hanya ingin mengeluh bahwa goto lebih kuat, Anda bisa melompat ke mana pun Anda mau

Saya baru saja membaca masalah yang Anda posting kepada saya. Untuk membuatnya jelas, penulis redux-saga terlalu malas untuk mengubahnya haha

Lucu, asinkron, menunggu kontrol asinkron jauh lebih kuat daripada fungsi generator

Tampaknya dikatakan bahwa bahasa JS jauh lebih kuat daripada bahasa C

Apakah halaman ini membantu?
0 / 5 - 0 peringkat