js的dwr 执行顺序...

functionaaa(){varb="123";JavaDwrAaa.AddA("abc",function(data){b=b+data;alert("1");});... function aaa(){
var b = "123";
JavaDwrAaa.AddA("abc",function(data){
b = b + data;
alert("1");
});
alert("2");
return b;
}

data 的值是 "456". 问题: return b的值是"123", 先alert "2"然后又alert "1".. 执行顺序怎么会是这样的.. ?? why ?
展开
 我来答
寻客10000
2011-05-25 · TA获得超过114个赞
知道答主
回答量:50
采纳率:0%
帮助的人:30.3万
展开全部
你可以这样
var xxx =0; 全局变量
function aaa(){
var b = "123";
JavaDwrAaa.AddA("abc",function(data){
b = b + data;
xxx =1
alert("1");
});
alert("2");
while(xxx=1){
......

return b;
}
return b;
}
也可用 js set......() 时间暂停 一段时间
mikemelon
2011-05-24 · TA获得超过4594个赞
知道小有建树答主
回答量:1261
采纳率:0%
帮助的人:1577万
展开全部
嗯,function(data)的执行是异步的,因此你不能判断谁先执行,一般本地的比较快,所以先出来alert(1)了
更多追问追答
追问
能控制吗?
追答
异步的就是你发出去不管它啥时候回来了,反正肯定会回来吧。看你想怎么办,非要执行b=b+data ,就把b放到入口参数data里呗。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式