前端开发中使用setTimeout解决某些问题

最近的工作主要集中在前端,一个不熟悉js的开发人员搞前端开发实在是痛苦至极。

在使用jqGrid的时候,明明调用了,但是要么就是表格不出现,要么就是数据不出现,感觉很诡异,一直都在jqGird的参数上下功夫。

直到今天上午才发现,极有可能是因为jqGrid没来得及加载导致的。然后加上setTimeout,果然问题解决了。

最近遇到好几个类似的问题,都是因为这个原因。在后端的开发中很少遇到这样的问题,因为基本上都是顺序执行,即使用到多线程也会采用合适的方式去处理。最主要的原因还是对js不够熟悉。

以下代码的中initGrid主要是去调用jqGrid,整个方法是在backbone的render中调用的

   self.initGrid(self.model);// 此中调用经常导致数据或者表格不能显示


   setTimeout(function(){    // 正常工作
	self.initGrid(self.model);
   },200); 



另外,使用jqGrid时遇到一个问题折腾了很久,把datatype属性写成了dataType,结果导致表格没数据。jqGird中部分属性的命名存在这个问题,类似的属性还有sortname,sortorder,imgpath等,都没有采用驼峰式命名。

你可能感兴趣的:(settimeout,JqGird,jqGird显示)