Jef*_*rey 3 javascript ajax jquery google-closure-library
我一直在寻找用于ajax调用的谷歌闭包库,我已经看了一个示例:
goog.events.listen(request, "complete", function(){
if (request.isSuccess()) {
// do something cool
} else {
// display an apologize message
}
});
Run Code Online (Sandbox Code Playgroud)
与jquery示例相反,它看起来像:
$.ajax({url: url, success: function () { }, error: function () { }});
Run Code Online (Sandbox Code Playgroud)
我一直看到谷歌关闭弹出窗口更多,但在这种情况下,优势或劣势是什么?对于像这样的ajax相关调用,jquery库调用似乎要简单得多.
您的Closure样本不完整.我假设您在样本之前创建了一个XhrIo实例并调用send()它.
如果你想要一个比你发布的jQuery样本更简单的Closure,你可以使用静态XhrIo.send().它看起来像这样:
goog.net.XhrIo.send(
url,
function(event) {
var xhr = event.target;
if (xhr.isSuccess()) {
// do something cool
} else {
// display an apologize message
}
});
Run Code Online (Sandbox Code Playgroud)
这肯定比jQuery版本更笨拙.一般来说,Closure的设计考虑了面向对象的编程(与jQuery形成鲜明对比,jQuery主要是静态函数).这可能适合您或不适合您,具体取决于您是否更喜欢以面向对象的方式编写JS代码.
在这种特殊情况下,如果您创建一个XhrIo可以为多个请求重用的对象(例如,您可以setTimeoutInterval()将其用于所有请求),那么您可能会从Closure中获得一个小优势.如果你关心内存,Closure还可以让你更清楚地控制垃圾收集.
| 归档时间: |
|
| 查看次数: |
996 次 |
| 最近记录: |