Jquery隊(duì)列機(jī)制是處理多個(gè)異步操作的方法,對(duì)于函數(shù)接收上個(gè)函數(shù)的參數(shù),我們可以通過一些方法來實(shí)現(xiàn),比如以下代碼:
function setValue1(value) { console.log(value); $("#item1").text(value); } function setValue2(value) { console.log(value); $("#item2").text(value); } $("#button1").on("click", function() { var value = "Hello World!"; $("#item1").queue("queue1", function() { setValue1(value); $(this).dequeue(); }); $("#item2").queue("queue2", function() { setValue2(value); $(this).dequeue(); }); $("#item1").dequeue("queue1"); $("#item2").dequeue("queue2"); });
上述代碼中,我們定義了兩個(gè)函數(shù)setValue1和setValue2用于分別設(shè)置兩個(gè)元素(item1和item2)的文本內(nèi)容。我們通過jQuery的queue方法創(chuàng)建了兩個(gè)隊(duì)列queue1和queue2,并在每個(gè)隊(duì)列中添加了一個(gè)函數(shù),該函數(shù)調(diào)用setValue1和setValue2函數(shù),并使用dequeue方法從隊(duì)列中移除該函數(shù)。
當(dāng)點(diǎn)擊按鈕時(shí),我們?cè)O(shè)置變量value的值為“Hello World!”。然后向每個(gè)隊(duì)列中添加了一個(gè)函數(shù),該函數(shù)會(huì)使用setValue1和setValue2函數(shù)來設(shè)置元素的文本內(nèi)容,并通過dequeue方法從隊(duì)列中移除該函數(shù)。最后,我們使用dequeue方法從隊(duì)列中取出一個(gè)函數(shù),該函數(shù)將會(huì)執(zhí)行隊(duì)列中的第一個(gè)函數(shù)。
通過以上方法,我們就可以實(shí)現(xiàn)函數(shù)接收上個(gè)函數(shù)的參數(shù),在隊(duì)列中處理多個(gè)異步操作,達(dá)到更好的代碼復(fù)用和更高的效率。