Mengelakkan Janji jQuery dalam Operasi Asynchronous Berantai
Adalah disyorkan untuk meminimumkan penggunaan janji jQuery apabila menggunakan janji ECMAScript. Walau bagaimanapun, merantai dua fungsi jQuery asynchronous menjadi mencabar tanpa menggunakan jQuery's then or .when.
Mengelakkan Janji jQuery
Semasa menggunakan Promise.resolve($.getJSON(url, params)) boleh menyembunyikan janji jQuery, ia tidak berkesan dalam operasi berantai. Untuk mengelakkan janji jQuery dalam senario sedemikian, adalah penting untuk mengenal pasti dan menghantar semua janji jQuery secara eksplisit yang anda gunakan kaedah terus.
Saling kendali Janji JavaScript
Janji JavaScript adalah saling beroperasi, bermakna anda boleh mencampur dan memadankannya daripada pelaksanaan yang berbeza. Walau bagaimanapun, untuk memastikan pelaksanaan khusus digunakan, anda mesti menghantar janji jQuery secara eksplisit.
Contoh
Pertimbangkan kod berikut yang merantai dua panggilan getJSON menggunakan janji asli:
Promise.resolve($.getJSON("url1", params)) .then(function(data) { return $.getJSON("url2", params); }) .then(function(data) { // Process data });
Dalam contoh ini, $.getJSON mengembalikan janji jQuery. Untuk mengelak daripada menggunakan kaedah jQuery kemudian, kami secara eksplisit menghantar janji jQuery kepada janji asli menggunakan Promise.resolve. Selepas itu, kami boleh meneruskan rantaian menggunakan kaedah janji asli, memastikan semua panggilan kaedah .then menggunakan pelaksanaan asli.
Kesimpulan
Dengan menghantar janji jQuery secara eksplisit, anda boleh mengintegrasikannya dengan lancar ke dalam operasi yang menggunakan janji ECMAScript asli, membolehkan anda mengelakkan janji jQuery sambil mengekalkan keupayaan untuk merantai operasi tak segerak.
Atas ialah kandungan terperinci Bagaimana Anda Boleh Mengelak Menggunakan Janji jQuery Apabila Merangkai Fungsi jQuery Asynchronous?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!