cari

Rumah  >  Soal Jawab  >  teks badan

javascript - perintah pelaksanaan tak segerak dalam setiap kitaran pengisytiharan dalam tindak balas

componentWillMount(){
    setTimeout(()=>{
      alert(1);
    },100)
  }

  componentDidMount(){
    setTimeout(()=>{
      alert(2);
    },100)
  }
  

Dua fungsi kitaran hayat dalam komponen mempunyai operasi tak segerak Adakah perintah pelaksanaan benar-benar mengikut susunan kitaran pengisytiharan, iaitu pertama 1 dan kemudian 2 Atau adakah anda tidak pasti sama ada perintah pelaksanaan adalah berdasarkan susunan sisipan ke dalam baris gilir mesej? Masalahnya boleh difahami sebagai mengandaikan bahawa masa pemulangan hasil tak segerak bagi componentWillMount adalah sangat panjang, dan masa pemulangan hasil tak segerak bagi componentDidMount adalah sangat singkat Adakah mungkin untuk melaksanakan hasil panggilan balik dahulu dalam componentDidMount, dan kemudian laksanakan hasil panggilan balik dalam componentWillMount

黄舟黄舟2697 hari yang lalu888

membalas semua(1)saya akan balas

  • 漂亮男人

    漂亮男人2017-07-05 10:58:58

    Soalan ringkasnya ialah: Dengan mengandaikan tertib pencetus dua tindakan tak segerak A dan B diketahui, bolehkah tertib kelewatan yang sama dalam A dan B boleh dijamin? setTimeout

    Jawapannya jelas tidak. Sebagai contoh, apabila hanya terdapat kelewatan mikrosaat antara A dan B, dua

    dengan kelewatan besar tidak boleh dijamin akan dicetuskan dalam urutan di mana setTimeout 就不能保证按照调用 setTimeout dipanggil.

    Anda tidak boleh bergantung pada hubungan pemasaan yang rapuh ini untuk memastikan susunan pelaksanaan kod. Dalam Semakan Kod, jika anda menemui kod yang menggunakan perhubungan ini untuk melaksanakan fungsi seperti pemulaan data dan permintaan tak segerak, responden pasti akan memberikan pendapatnya. Untuk aliran kawalan tak segerak, Janji / hasil dan kaedah lain boleh digunakan untuk memastikan urutan pelaksanaan, yang tidak akan diterangkan di sini.

    balas
    0
  • Batalbalas