我知道“do-while”将至少运行一次,而“while”则必须满足运行条件。
这是do-while的正确用法吗?
do{
var ajaxresponse = make an ajax call and assign the response to the variable.
while( ajaxresponse.length == <some number>);
答案 0 :(得分:1)
如果要使AJAX调用同步,这将是有效的。
离。
$.ajax({url:"url",..., async: false});
但是,这完全违背了AJAX异步的要点,所以应该避免。
答案 1 :(得分:1)
对于响应数据的迭代和执行操作,最好在回调函数中执行此操作。因为AJAX是异步的。以下代码使用Jquery进行Ajax请求。
entity
答案 2 :(得分:0)
否强>
当JavaScript在Web客户端中运行时,它会同步运行 - 这意味着一次只能执行一个JavaScript执行线程。
因此,如果函数调用异步操作(如XmlHttpRequest.send
或setTimeout
),则该操作由JavaScript运行时的浏览器OUTSIDE通过WebAPI处理在一个单独的线程中,该操作的回调然后排队,并在JavaScript运行时空闲时执行。
在您的代码中:
do{
var ajaxresponse = make an ajax call and assign the response to the variable.
while( ajaxresponse.length == <some number>);
ajaxresponse
在包含do / while循环的函数完成之前不会再回来,所以当你的while条件检查ajaxresponse
时,不会有值检查。