javascript - 如何将回调函数的值返回给调用者?

标签 javascript ajax callback return

如何让“image Exists”这个小函数返回 ajax 请求是否成功?

function imageExists(path){
    $.ajax({
        url: path,
        type: 'HEAD',
        error:
            function(){
                return false;
            },
        success:
            function(){
                return true;
            }
    }); 
}

最佳答案

您将在 success 函数或 error 函数中返回 AJAX 调用的结果,因此接下来应该调用的函数应该是从那个点调用。

因为 AJAX 请求是异步的(我建议不要将其设为阻塞同步调用),您发出请求但不知道它何时返回;它会在返回时给您打电话,所以您只需要为它提供一些可以打电话的东西。

function imageExists(path){
    $.ajax({
        url: path,
        type: 'HEAD',
        error:
            function(){
                iveReturned(false);
            },
        success:
            function(){
                iveReturned(true);
            }
    });   
}

function iveReturned(result) {
    // code here to do something following AJAX response.
}

关于javascript - 如何将回调函数的值返回给调用者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5493278/

相关文章:

javascript - 从对象循环键动态传递属性引用

javascript - 我怎样才能 trim 这个JavaScript字符串?

node.js - Mongoose 对回调的存在有不同的 react

java - 是否有必要在分离时将 Fragment 接口(interface)监听器设置为 null?

Javascript 函数(异步)在 Mozilla FF 中有效,但在 Chrome 中无效?

javascript - 使用 jquery 创建容器数组

javascript - 防止鼠标松开时默认

java - 将组件值和另一个参数发送给监听器

mysql - Wordpress Ajax 向 MySQL 插入数据

php - 有没有办法将多个数组传递给 PHP json_encode 并用 jQuery 解析它?