Walaupun cadangan untuk mengelakkan janji jQuery, pembangun mungkin menghadapi cabaran apabila merantai fungsi jQuery async tanpa menggunakan fungsi jQuery async Mekanisme pengendalian janji jQuery seperti .then() atau .when(). Untuk menangani perkara ini, pertimbangkan pendekatan berikut:
Janji jQuery boleh dikendalikan dengan janji JavaScript. Ini bermakna anda boleh mencampur dan memadankannya dalam kod anda tanpa masalah. Semua perpustakaan bereputasi dan janji asli menerima thenable daripada sebarang pelaksanaan. Akibatnya, dalam kebanyakan kes, anda boleh mengekod seolah-olah semua janji anda menggunakan pelaksanaan yang sama.
Walau bagaimanapun, jika anda perlu memastikan bahawa semua panggilan .then() menggunakan pelaksanaan pilihan anda atau melaksanakan bukan- ciri standard, adalah penting untuk melontarkan semua janji secara eksplisit yang anda gunakan kaedah secara langsung. Contohnya:
Promise.all([$.ajax(...), $.ajax(...)]) // Just works (native `then`)
$.ajax(...) // jQuery promise Promise.resolve($.ajax(...)) // Explicit cast .then(function(data) { // Native `then` return $.ajax(...); // Just works }) .catch(...) // Use features of native promise
Ingat, mencampurkan janji jQuery dan JavaScript biasanya tidak menjadi masalah, tetapi jika anda memerlukan kawalan eksplisit ke atas pelaksanaan, gunakan pendekatan pemutus eksplisit.
Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Janji jQuery dalam Fungsi Berantai Semasa Mengekalkan Operasi Async?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!