我有一个调用异步函数的函数。我的示例使用 ajax,但它实际上是异步的。
我正在尝试在 ajax 调用成功时添加附加信息。
发生的顺序:
-我的函数被调用,参数是 $.ajax 调用。
-my 函数需要在 $.ajax.success 调用中添加 1 行代码
我的代码如下:
function myFunct(settings, callback){
if(!callback)return;
var x = 100;
//here is where i have issues, as i want
//to be able to adjust the success function
// to also have 1 line of code, a decrementer.
//I want to do something like settings.success = "x--;" + settings.success;
callback(settings);
//I also wasnt sure if you could wrap 'callback'
//with a success function when the inner success function executes
}
示例调用:
var settings = "";//settings of the ajax call.
myFunct(settings, function(x){ $.ajax(x);});
最佳答案
如果你确保回调总是返回一个promise对象,你可以使用.done()
function myFunct( settings, callback ) {
if (!callback) return;
var x = 100;
callback(settings).done(function(){
x--;
});
}
var settings = { url: "foobar.php" };
myFunct( settings, function(x) {
return $.ajax(x);
})
可以肯定的是,var x = 100
只是一个示例,对吗?就目前而言,它会超出范围并且毫无意义。
关于javascript - 尝试确定如何监视或附加异步函数的成功调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12607897/