JavaScript回调函数
我有这个jQuery脚本:JavaScript回调函数,javascript,jquery,Javascript,Jquery,我有这个jQuery脚本: $(content).find('data').each(function(){ // parsing some data $(this).find('something').each(function(){ $(this).find('something new').each(function(){ // etc. }}; }); }); …我想在脚本完成后调用函数XYZ 这不起作用,它将过早调用函数XYZ:
$(content).find('data').each(function(){
// parsing some data
$(this).find('something').each(function(){
$(this).find('something new').each(function(){
// etc.
}};
});
});
…我想在脚本完成后调用函数XYZ
这不起作用,它将过早调用函数XYZ:
$(content).find('data').each(function(){
// parsing some data
}, XYZ());
有什么解决办法吗?谢谢。$。每个都不是异步的,因此不需要回调本身。这将有助于:
$(content).find('data').each(function(){
// parsing some data
$(this).find('something').each(function(){
$(this).find('something new').each(function(){
// etc.
});
}};
});
XYZ();
$。每个都不是异步的,因此不需要回调本身。这将有助于:
$(content).find('data').each(function(){
// parsing some data
$(this).find('something').each(function(){
$(this).find('something new').each(function(){
// etc.
});
}};
});
XYZ();
如果您有任何异步进程,您应该在//等中调用XYZ
var xData $(content).find('data'),
lenData = $(xData).length;
if (lenData==0){
XYZ();
}
else{
$.each(xdata, function(index, value){
// parsing some data
var xsomething = $(this).find('something')
lenxsomething = $(xsomething).length;
if ((lenxsomething==0) && (lenData==(index+1))){
XYZ();
}
else{
$.each(xsometing, function(index2, value2){
var xsomethingNew $(this).find('something new')
lenxsomethingNew = $(xsomething).length;
if ((lenxsomethingNew==0) && (lenxsomething==(index2+1))){
XYZ();
}
else{
$.each(xsomethingNew, function(index3, value3){
//etc ..
//then asynchronous process
if (lenxsomethingNew==(index3+1)){
XYZ();
}
});
}
});
}
});
}
如果您有任何异步进程,您应该在//等中调用XYZ
var xData $(content).find('data'),
lenData = $(xData).length;
if (lenData==0){
XYZ();
}
else{
$.each(xdata, function(index, value){
// parsing some data
var xsomething = $(this).find('something')
lenxsomething = $(xsomething).length;
if ((lenxsomething==0) && (lenData==(index+1))){
XYZ();
}
else{
$.each(xsometing, function(index2, value2){
var xsomethingNew $(this).find('something new')
lenxsomethingNew = $(xsomething).length;
if ((lenxsomethingNew==0) && (lenxsomething==(index2+1))){
XYZ();
}
else{
$.each(xsomethingNew, function(index3, value3){
//etc ..
//then asynchronous process
if (lenxsomethingNew==(index3+1)){
XYZ();
}
});
}
});
}
});
}