我想知道是什么success
and error
在 Ember.js RESTAdapter 中做ajax函数 https://github.com/emberjs/data/blob/761412849a56ad086c44659faafa547d8f6c03a8/packages/ember-data/lib/adapters/rest_adapter.js#L341-L347.
hash.success = function(json) {
Ember.run(null, resolve, json);
};
hash.error = function(jqXHR, textStatus, errorThrown) {
Ember.run(null, reject, jqXHR);
};
I know hash
is the 通过AJAX发送数据 https://github.com/emberjs/data/blob/761412849a56ad086c44659faafa547d8f6c03a8/packages/ember-data/lib/adapters/rest_adapter.js#L349,但是起什么作用success
and error
玩?我认为它们会基于成功或错误的 AJAX 响应来运行,对吧?它们是在调用 AJAX 之前设置的,作为回调?它们是如何工作的?
但成功和错误分别扮演什么角色呢?我认为它们会基于成功或错误的 AJAX 响应来运行,对吧?
是的,由于 ember 在底层使用 jQuery,所以提到的函数只是简单的 jQuery 方法。
它们是在调用 AJAX 之前设置的,作为回调?它们是如何工作的?
至于函数本身,请参阅取自的此信息jQuery 官方文档 http://api.jquery.com/jQuery.ajax/:
我还应该提到的是success
回调在最近的 jQuery 版本中被替换为done
并被标记为已弃用,如下所示:
弃用通知:从 jQuery 1.8 开始,jqXHR.success()、jqXHR.error() 和 jqXHR.complete() 回调已弃用。要为最终删除准备代码,请改用 jqXHR.done()、jqXHR.fail() 和 jqXHR.always()。
但别担心,因为我猜在 jQuery 完全删除这个方法之前,ember 团队肯定已经赶上了新的回调版本。
最后,如果你想知道打电话给什么Ember.run
你可以看看吗here http://emberjs.com/api/classes/Ember.run.html。但基本上它确保传递的目标和方法在 RunLoop 内部运行,还确保任何延迟的操作(例如绑定和视图更新),这在最后会被刷新。这个答案 https://stackoverflow.com/questions/13597869/what-is-ember-runloop-and-how-does-it-work on the Runloop
信息也很丰富。
希望能帮助到你。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)