[英]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.