Dva: Bisakah setTimeout digunakan dalam efek model?

Dibuat pada 2 Agu 2017  ·  3Komentar  ·  Sumber: dvajs/dva

kode tampilkan seperti di bawah ini

*aaa({
          payload
      },{call,put}){
        yield put({
            type: 'xxx',
            payload: {...payload}
        });
        setTimeout(
            yield put({
                type: 'xxxx',
            })
        ,1000)
      },

Setelah menambahkan setTimeout, selalu melaporkan Uncaught SyntaxError: Unexpected identifier. Ini akan baik-baik saja setelah menghapusnya. Saya tidak tahu mengapa. Apakah tidak mungkin menggunakan setTimeout di sini?

question

Komentar yang paling membantu

Mencoba:

const delay = (ms) => new Promise((resolve) => {
  setTimeout(resolve, ms);
});

*aaa() {
  yield call(delay, 1000);
  yield put...
}

Semua 3 komentar

Mencoba:

const delay = (ms) => new Promise((resolve) => {
  setTimeout(resolve, ms);
});

*aaa() {
  yield call(delay, 1000);
  yield put...
}

@sorrycc Saya menemukan bahwa menggunakan yeild dimasukkan ke dalam setTimeout tidak akan bekerja. Uncaught SyntaxError: Pengidentifikasi tak terduga yang saya mulai laporkan disebabkan oleh nilai kembalian setelah mengeksekusi yeild put. Jika saya ingin memulai suatu tindakan, tindakan ini pertama-tama mengubah status Nilai, apa yang harus saya lakukan jika nilai status tertentu berubah setelah beberapa detik? Saya perlu mengubah nilai keadaan tertentu untuk mengontrol visibilitas suatu elemen. Karena ada begitu banyak tempat untuk digunakan, saya perlu menulis semua tindakan dalam suatu tindakan. Pemahaman saya sendiri tentang tindakan ini perlu ditulis dalam efek, karena di sini. Hanya panggilan dan put yang dapat digunakan di dalam, dan saya dapat menempatkan dua reduksi dan mengubah status dua kali, tetapi menggunakan yeild tampaknya tidak dikontrol oleh setTimeout. Bagaimana saya bisa mengatur waktu tindakan untuk dipicu pada waktu yang ditentukan waktu (awalnya, setTimeout dapat ditulis di luar pengiriman Untuk mencapai ini, tetapi jika proyek akan diubah dengan cara ini, ratusan tempat mungkin harus diubah, dan itu tidak akan mungkin diubah)

Anda dapat meluangkan waktu untuk memahami perbedaan antara generator dan fungsi biasa.Fungsi generik tidak dapat diatur dalam generator.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat