作用描述:写了一个搜索框,用户输入关键字后,下面框给出联想词(一般电商网站顶部的搜索框)。

js代码

$('input').keyup(function(){

var kw = $('input').val();

querySUG(kw);

})

ajax代码

$.ajax({

//省略

success:function(data){

var data = data;//data从其他网站的接口传过来的json

$.each(data,function(i,element)){

$('

element'))

}

$('

').click(chooseKeyword);//这一步简化了,是再循环每个li,添加点击事件,如果选择联想词再执行一些操作

}

})

function chooseKeyword(){

//省略

}

问题来了

其实我ajax只想获取数据,动态生成ul,li标签,我是不想放在ajax的回调函数里的。

chooseKeyword这个函数执行,我也不想放在回调函数里

但其实,我ajax只想获取数据而已,不想把其他的都放在回调函数里,但后续的操作都是要等ajax请求完后才能操作,比如动态生成标签li,添加点击事件等

所以就是我说的‘异步请求,同步等待’:能不能有方法/函数,是等ajax异步请求后,再执行的函数,,或者是有更好的方法,麻烦大神指点一下,谢谢!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐