Javascript 有可能在请求后的下一行代码中得到Ajax响应吗?

Javascript 有可能在请求后的下一行代码中得到Ajax响应吗?,javascript,ajax,Javascript,Ajax,少年问题,我知道。 但是,是否有可能在函数中间进行Ajax调用,然后在相同的函数中使用响应? 没有任何简单的解决方案,但如果你能提出任何复杂的解决方案,那就太好了 代码示例: function getSomeAjax(){ var params = prepareRequestParams(); //do some ajax magic here and get ajaxResponseData return ajaxResponseData; } 除非在Ajax中去

少年问题,我知道。 但是,是否有可能在函数中间进行Ajax调用,然后在相同的函数中使用响应?

没有任何简单的解决方案,但如果你能提出任何复杂的解决方案,那就太好了

代码示例:

function getSomeAjax(){ 
    var params = prepareRequestParams();
    //do some ajax magic here and get ajaxResponseData
    return ajaxResponseData;
}

除非在Ajax中去掉A。您可以使用同步请求而不是异步请求(将的第三个参数设置为
false
),但这会锁定所有JS处理,直到响应返回,这是一个糟糕的想法


只需使用回调方法。

在Ajax中不使用回调方法是不行的。您可以使用同步请求而不是异步请求(将的第三个参数设置为
false
),但这会锁定所有JS处理,直到响应返回,这是一个糟糕的想法


只需使用回调方法。

使用回调函数:

function test(){
    //ajaxcall here, with a callback function to callback()
}

function callback(){
    // do the thing you want here
}

对其使用回调函数:

function test(){
    //ajaxcall here, with a callback function to callback()
}

function callback(){
    // do the thing you want here
}

您没有提到是否要使用同步。或者同步。呼叫。
使用异步。这可能会导致您在尝试返回AjaxResponseData后从服务器获得答案,所以请使用synch。打电话是最简单的方法


当然,我必须警告你,同步。调用Ajax会导致客户端浏览器在等待应答时冻结,因此如果您认为必须使用sync,则应重新考虑设计。版本。

您没有提到是否要使用同步。或者同步。呼叫。
使用异步。这可能会导致您在尝试返回AjaxResponseData后从服务器获得答案,所以请使用synch。打电话是最简单的方法


当然,我必须警告你,同步。调用Ajax会导致客户端浏览器在等待应答时冻结,因此如果您认为必须使用sync,则应重新考虑设计。版本。

您为什么需要它?我的意思是,CPS风格有什么问题?@penartur我有一个老同事,他非常喜欢他当前的功能结构,不想列出任何异步需求。所以,我不想写完整的外星人和塞尔金可能的漂亮的解决方案,不雅的代码。这很可悲。他需要接受浏览器UI是一个事件驱动的环境,并调整他的编码风格以适应:@eugene_selivonchyk如果他也喜欢他现在的自行车,那并不意味着你应该用变通方法来改造你的车,让他可以踩踏板而不是踩油门。用户界面必须是异步的,完全停止。作为论据,问问你的同事,当浏览器加载某个页面时,他是否希望电脑完全锁定。你为什么需要它?我的意思是,CPS风格有什么问题?@penartur我有一个老同事,他非常喜欢他当前的功能结构,不想列出任何异步需求。所以,我不想写完整的外星人和塞尔金可能的漂亮的解决方案,不雅的代码。这很可悲。他需要接受浏览器UI是一个事件驱动的环境,并调整他的编码风格以适应:@eugene_selivonchyk如果他也喜欢他现在的自行车,那并不意味着你应该用变通方法来改造你的车,让他可以踩踏板而不是踩油门。用户界面必须是异步的,完全停止。作为一个论据,问问你的同事,当浏览器加载某个页面时,他是否想让电脑完全锁定。这正是我所想的。但我真的需要听听第三方的意见。谢谢你。这正是我所想的。但我真的需要听听第三方的意见。非常感谢。