分享自己封装的一个Comet函数

代码如下如下所示:

/**
 * comet通用版
 * 
 * @author CrossYou base on comet
 * @since 1.0.5
 */
function Comet(url,cbk){
	var url			 = url;
	var cbk			 = cbk;
	var timestamp	 = 0;
	var noerror		 = true
	
	var main		 = function(){
		$.ajax({
			type:'GET',
			url: url,
			dataType : 'json',
			data:'t='+timestamp,
			success: function(data){
				var isFrist = timestamp;
				timestamp = data.timestamp;
				noerror = true;
				if(isFrist == 0)return false;
				if(cbk)cbk(data);
			},
			complete: function(){
				if (!noerror){
	        		setTimeout(main, 5000); 
				}else{
					setTimeout(main, 10); 
				}
	        	noerror = false;
	      	}
			
		});
	};
	
	return main();
}

使用方法如下所示:(比如创建一个聊天的comet应用)

Comet('server/listener/chat',updateChat);

值得注意的是,url请求的参数,以及返回的参数 应该与上面封装的代码相一致。

这篇文章目前有4条评论

  1. Yeahlee 2011-05-14 18:48

    我也点了个广告,你应该也懂的! 呵呵

    PS: 好像之前我们友链过….

    板凳党 !
  2. 绵阳seo 2011-05-16 15:17

    点一点,有一点,再来点, (惊恐) 账号要被封了,呵呵

    地板砖 !
Leave a Reply

(必填项)

(必填项)

(可选)