簡體   English   中英

JavaScript Promise將參數傳遞給對象

[英]Javascript promise pass param into object

var getData = new Promise(function(resolve, reject){
    $.post( "data.php", { search: inputData }, function( data ) { //need to pass this
        data = $.parseJSON(data);
    });

    if (data) {
        resolve(data);
    }
});

this.inputText.on('keyup', function(){
    var inputData = this.value; //I need to pass this into object

    getData.then(function(fromResolve){

        console.log(fromResolve);

    }).catch(function(fromReject){

        console.log(fromReject);

    });
});

我有一個jQuery ajax發布,在發布后我使用promise做點什么

我的問題是如何將this.value (keyup value)傳遞給{ search: inputData }對象,所以{ search: inputData }可以有值要發布

使用getData()和實際函數,以便可以使用參數。

jQuery的post()已經返回了promise,因此您無需再次包裝。

function getData( inputData ) {
  return $.post( "data.php", { search: inputData } );
}

this.inputText.on('keyup', function(){

    var inputData = this.value; 

    getData( inputData )
      .then(function(fromResolve){

        console.log(fromResolve);

       }).catch(function(fromReject){

        console.log(fromReject);

       });
});

只需從jQuery回調函數調用resolve

var getData = new Promise(function(resolve, reject){
    $.post( "data.php", { search: inputData }, function( data ) { //need to pass this
        data = $.parseJSON(data);
        if (data) { resolve(data); }
        else { reject(); }
    });
});

暫無
暫無

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

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