removeFromParentCollection(),可以避免在jsom开发中遇到的某些异步问题

来源:互联网 发布:ubuntu安装app 编辑:程序博客网 时间:2024/06/06 03:51

经常会遇到程序异步执行时,得不到想要的结果。

比如在context.executeQueryAsync方法,成功后的方面中使用while来获取每个item的结果,但可能在获得的结果中,还需要通过上下文对象来获得其他数据结果,同时也会用到context.executeQueryAsync,那么此时的异步执行是不理想的。

解决办法:通过回调执行成功后的方法,在while中,使用item.removeFromParentCollection()方法,将这次的数据结果从结果集中删除,然后再通过回到success方法,再次执行while。


function onSuccess(){    var itemEnumerator = listItems.getEnumerator();        while(itemEnumerator.moveNext()){           var item = itemEnumerator.get_current();<span style="white-space:pre"></span>   item.removeFromParentCollection();//这里load其他的的异步方法
<span style="white-space:pre"></span>   itemExecute();break;}function itemExecute(){//结果处理onSuccess();}




0 0