我正在对CMS进行Ajax调用,但是对于从我的Ajax调用返回的每个值('site'),我需要列出具有访问权限的用户('shares')。我在下面转载了我的代码模板。 (我希望我没有通过剥离专有的东西来在语法上打破它。)
代码实际上有效。只是因为我必须在子调用中添加'false'的'synch',浏览器才会锁定,直到一切都完成。我编码的任何DOM操作都不会发生,直到最后一个'site'被迭代。 (我只能通过使用Chrome开发工具看到任何)。
如果我没有同步参数,则外循环迭代太快,内部循环不能跟上。
如果有更好的解决方案,请有人告诉我。
非常感谢。
<script>
var mySites
var myShares
mySites = blah({
path: 'aa/bb/cc/',
url: '',
data: { method: 'sites.search', limit: 600}
});
mySites.done(function(data) {
var OutSites = data;
console.log(data);
var Sites = OutSites.data.sites;
$.each(Sites, function(key, value) {
console.log(key, value.uuid, value.description);
myShares = blah({
path: 'dd/ee/ff',
url: '',
async: false,
data: { method: 'share.getList', target: value.uuid}
});
myShares.done(function(data) {
var OutShares = data;
var ShareUsers = OutShares.data.user;
if (typeof ShareUsers !== 'undefined') {
$.each(ShareUsers, function(key, value) {
consol.log(key, value.uuid);
});
}
});
});
});
</script>