Rumah > Soal Jawab > teks badan
Tentukan tatasusunan kosong di luar, kemudian buat permintaan ajax, sarang permintaan lain di dalam permintaan itu, dan akhirnya sambungkannya kepada tiga objek dan masukkan tatasusunan kosong.
Kemudian saya mencetak panjang tatasusunan pada bahagian paling luar, dan panjang cetakan ialah 0. Masalah ini akan menjejaskan tugasan. Tolong beritahu saya bagaimana untuk menyelesaikannya.
为情所困2017-06-30 09:55:44
ajax asynchrony boleh menyebabkan masalah sedemikian. Penyelesaian 1. Janji 2. Tetapkan nilai dalam panggilan balik ajax
ringa_lee2017-06-30 09:55:44
ajax tidak segerak Apabila kod log anda dilaksanakan, ajax belum kembali.
欧阳克2017-06-30 09:55:44
Sila semak isu gelung acara
Kami tahu bahawa ajax ialah operasi tak segerak,
Lokasi console.log anda Pada masa ini, arr.length sebenarnya ialah [].length
Selepas js semasa anda dilaksanakan, panggilan balik kejayaan ajax akan dilaksanakan Hanya selepas panggilan balik kejayaan berjaya, tatasusunan arr anda akan ditolak ke dalam nilai
Jadi, anda mungkin mahu meletakkan console.log ke dalam panggilan balik kejayaan ajax kedua
Untuk janji, ia akan mengoptimumkan panggilan balik bersarang ini dengan baik, tetapi anda perlu merangkum ajax anda
Adalah disyorkan untuk membungkus semua ajax anda menjadi janji
为情所困2017-06-30 09:55:44
ajax ialah kaedah pemerolehan data tak segerak, jadi data yang diperoleh secara tak segerak tidak boleh diproses dengan cara segerak yang biasa kami fahami Anda harus menulis console.log dalam fungsi panggil balik kejayaan.
过去多啦不再A梦2017-06-30 09:55:44
Tetapkan async anda: palsu supaya anda boleh mendapatkan nilai di dalam dari luar.
巴扎黑2017-06-30 09:55:44
Dalam kes ini, anda perlu menukar kepada penyegerakan ajax. Jika ia tidak segerak, ajax dan kod di belakangnya dilaksanakan pada masa yang sama