javascript - 尝试确定如何监视或附加异步函数的成功调用

标签 javascript jquery ajax

我有一个调用异步函数的函数。我的示例使用 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/

相关文章:

PHP Echo 通过 JS/AJAX Post 选择的值

javascript - 在 TrustPilot 小部件中自定义 JS/CSS

javascript - jQuery或Java声音通知/警报

Javascript 和 Jquery 初学者必备知识?

javascript - PreventDefault() 不适用于 form.submit()

javascript - 开发时跨域AJAX调用 : possible?

javascript - Div 调整大小在 Internet Explorer 上不起作用

javascript - 如何处理多个单独的 json 响应?

javascript - 多次调用 Raphael 悬停函数仅有效 'sometimes'

javascript - 我如何以接受 6 个字符的方式编写 javascript 正则表达式