js/jQquery 怎么保证b函数在a函数执行完之后再执行?

csdn___N 2011-07-14 05:47:49
换句话说,就是普通函数有没有回调方法?像ajax()那样
...全文
2483 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
showenxxx 2011-07-16
  • 打赏
  • 举报
回复
.load 没有这个属性设置。
lsw645645645 2011-07-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 x1x2y0 的回复:]
function () {
这里要修改AJAX回调回来显示的HTML
}
[/Quote]
function(arg){
alert(arg)
}
要给它个回调回来数据的参数嘛
csdn___N 2011-07-15
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 showenxxx 的回复:]

不清楚具体要求,如果只是要等ajax操作完成的话,可以设置成同步的ajax
async:false

参看 http://jqapi.com/#p=jQuery.ajax

async Boolean
Default: true

By default, all requests are sent asynchronously (i.e. this is set to true ……
[/Quote]

我用了很多load()函数,这个封装了ajax原始方法的函数貌似不能设置这个async属性啊
csdn___N 2011-07-15
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 thc1987 的回复:]

ajaxMethod();//这是一个ajax方法

这个方法是同步还是异步,把它改成同步的试试看
[/Quote]

AJAX方法还有同步的?
猿敲月下码 2011-07-15
  • 打赏
  • 举报
回复
ajaxMethod();//这是一个ajax方法

这个方法是同步还是异步,把它改成同步的试试看
hongmei85 2011-07-15
  • 打赏
  • 举报
回复
试下
function () {
alert(这里要修改AJAX回调回来显示的HTML)
}
csdn___N 2011-07-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 lsw645645645 的回复:]

引用 7 楼 x1x2y0 的回复:
function () {
这里要修改AJAX回调回来显示的HTML
}

function(arg){
alert(arg)
}
要给它个回调回来数据的参数嘛
[/Quote]

您好,
这个function () {
这里要修改AJAX回调回来显示的HTML
}
的意思是在这个方法里修改 AJAX操作过的HTML。也就是说在执行这个方法的时候AJAX已经完成了回调,完成了对HTML的修改。而我这个function只是要修改AJAX回调函数修改过的HTML,但每次都修改不成功。(我感觉AJAX回调函数执行完之前这个function就开始作用了,换句话说,这个$when没生效)
showenxxx 2011-07-15
  • 打赏
  • 举报
回复
不清楚具体要求,如果只是要等ajax操作完成的话,可以设置成同步的ajax
async:false

参看 http://jqapi.com/#p=jQuery.ajax

async Boolean
Default: true

By default, all requests are sent asynchronously (i.e. this is set to true by default). If you need synchronous requests, set this option to false. Cross-domain requests and dataType: "jsonp" requests do not support synchronous operation. Note that synchronous requests may temporarily lock the browser, disabling any actions while the request is active.
lsw645645645 2011-07-14
  • 打赏
  • 举报
回复
把b函数做为参数传入a函数,就可以回调了呀
csdn___N 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 showenxxx 的回复:]

jquery 1.5+有个Deferred Ojects

能够在一系列的函数执行完以后,在执行其他的逻辑

参看 http://api.jquery.com/jQuery.when/
[/Quote]


您好,这个函数我看了一下,应该是可以的,但是我自己用的时候出了一点问题,想麻烦您看一下,谢谢了!

我在document.ready里是这样写的:

$.when(function () {
ajaxMethod();//这是一个ajax方法
}).done(
function () {
这里要修改AJAX回调回来显示的HTML
}
)

但是实际运行的结果是:AJAX回调回来的内容为空。

请问我是否用错了呢?
谢谢!

qindwt1 2011-07-14
  • 打赏
  • 举报
回复
你可以自己定义一套执行函数的方案啊,比如你的函数都是继承的某个对象 改对象设置 doBefor doAfter 之类的方法 就ok了
showenxxx 2011-07-14
  • 打赏
  • 举报
回复
jquery 1.5+有个Deferred Ojects

能够在一系列的函数执行完以后,在执行其他的逻辑

参看 http://api.jquery.com/jQuery.when/
OPPPPOP 2011-07-14
  • 打赏
  • 举报
回复
jquery 有个quere 和 dequere
不过专门是针对 动画效果的
网上说还针对 setTimeout 和 Ajax 不晓得那些脑残怎么办到的
豆虫 2011-07-14
  • 打赏
  • 举报
回复
普通函数也可以有“回调” 但和ajax的那个不是一回事 因为没有请求响应的概念 也就是执行一下罢了
function aaa(fun){
if(..){
fun();
}
}
如果ajax的话 因为是异步的 要想a执行完了再执行b的话 必须放到回调里执行
xuexiaodong2009 2011-07-14
  • 打赏
  • 举报
回复
js/jQquery 怎么保证b函数在a函数执行完之后再执行?


通过调用先后顺序确定
xuexiaodong2009 2011-07-14
  • 打赏
  • 举报
回复
普通函数没有回调方法

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧