Bagaimana untuk Mendapatkan Nilai Pulangan daripada Fungsi Asynchronous JavaScript dengan jQuery?

Patricia Arquette
Lepaskan: 2024-10-22 07:45:18
asal
785 orang telah melayarinya

How to Obtain Return Values from JavaScript Asynchronous Functions with jQuery?

Nilai Pulangan Asynchronous JavaScript dengan jQuery

Sifat tak segerak JavaScript sering menimbulkan cabaran dalam mendapatkan nilai pulangan serta-merta. Dalam konteks ini, pertimbangkan fungsi jQuery yang mendapatkan semula nilai GUID melalui panggilan tak segerak. Walaupun fungsi alert() dalam fungsi memaparkan GUID dengan jayanya, memberikannya kepada pembolehubah dan mengembalikan nilainya telah terbukti sukar difahami oleh banyak pembangun.

Satu pendekatan biasa untuk masalah ini ialah memperkenalkan fungsi panggil balik sebagai parameter. Kaedah ini memastikan bahawa fungsi mengembalikan janji tertunda setelah selesai panggilan tak segerak, membenarkan panggilan balik dilampirkan padanya.

function trackPage() {
    var elqTracker = new jQuery.elq(459),
        dfd = $.Deferred();

    elqTracker.pageTrack({
        success: function() {
            elqTracker.getGUID(function(guid) {
                dfd.resolve(guid);
            });
        }
    });

    return dfd.promise();
}

// Example usage:
trackPage().done(function(guid) {
    alert("Got GUID: " + guid);
});
Salin selepas log masuk

Dalam contoh ini, fungsi trackPage() kini mengembalikan janji. Fungsi panggil balik boleh dilampirkan menggunakan kaedah done() untuk menerima nilai GUID sebaik sahaja panggilan tak segerak selesai. Berbilang panggilan balik boleh dirantai bersama.

var pageHit = trackPage().done(function(guid) {
    alert("Page Hit GUID: " + guid);
});

$("button").click(function() {
    pageHit.done(function(guid) {
        alert("Clicked on Page GUID: " + guid);
    });
});
Salin selepas log masuk

Objek $.Deferred yang disediakan oleh jQuery membolehkan pembangun mencipta logik tak segerak mereka sendiri yang mengembalikan janji, memastikan antara muka yang konsisten merentas aplikasi. Modul jQuery lain, seperti AJAX, juga mengembalikan janji, menjadikannya lebih mudah untuk mengendalikan operasi tak segerak dalam JavaScript.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Pulangan daripada Fungsi Asynchronous JavaScript dengan jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!