簡體   English   中英

jQuery如何將參數傳遞給回調函數到管道

[英]jquery how to pass parameter to callback function into pipe

我有下面的簡單示例:

function firstFunction(){
  var d = jQuery.Deferred();
  // some very time consuming asynchronous code...
  setTimeout(function() {
    console.log('1');
    d.resolve();
  }, 1000);
  return d.promise();
}
function secondFunction(param){
  console.log('parm = '+param);
  var d = $.Deferred();
  setTimeout(function() {
    console.log('2');
    d.resolve();
  }, 10);
  return d.promise();
}

firstFunction().pipe(secondFunction('OK'));

結果:param = OK 2 1我失去了功能之間的同步。 t如何通過同步將參數傳遞給secondFunction到管道中?

好吧,您需要做一些零錢:

您的代碼將立即執行secondFunction ,並將執行它的返回值作為參數傳遞給firstFunction ,這不太可能是您想要的。

閱讀完整答案: 帶參數的Javascript回調函數

 console.log = function(message) { $('body').append('<div>' + message + '</div>'); } function firstFunction(){ var d = jQuery.Deferred(); // some very time consuming asynchronous code... setTimeout(function() { console.log('1'); d.resolve(); }, 1000); return d.promise(); } function secondFunction(param){ console.log('parm = '+param); var d = $.Deferred(); setTimeout(function() { console.log('2'); d.resolve(); }, 10); return d.promise(); } firstFunction().then(function() { secondFunction('OK') }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM