我有一个回调,我多次回调(通过 setTimeOut 递归)......只有一个条件我想捕获返回值,即回调完成时回调自身。
但是在这种情况下,当我退回某些东西时,我并没有得到我期望的东西,而且我根本不知道它去哪里了。有两个 console.log 语句标记了这些点......在下面的代码段中。一个是我发送的……另一个是我期望的。
if( MC.C.movePane( pane_element, 0, 0, 0, 'begin' ) ) {
cover_element.style.display = 'none';
console.log('I never got it');
}
return o_p;
},
movePane: function( pane_element, start, end, index, state ) {
if( ( state === 'begin' ) ) { // init the function
start = parseInt( window.getComputedStyle( pane_element, null ).getPropertyValue("top"), 10 );
end = start + 40;
index = start;
state = 'down';
MC.C.movePane( pane_element, start, end, index, 'down' );
}
if( ( state === 'down' ) && ( index < end ) ) { // move down
index += 1;
pane_element.style.top = ( index ) + 'px';
setTimeout( function( ){ MC.C.movePane( pane_element, start, end, index, state ); }, 1 );
}
else if( ( state === 'down' ) && index === end ) { // hold
state = 'up';
setTimeout( function( ){ MC.C.movePane( pane_element, start, end, index, state ); }, 2000 );
}
else if( ( state === 'up' ) && ( index > start ) ) { // move up
index -= 1;
pane_element.style.top = ( index ) + 'px';
setTimeout( function( ){ MC.C.movePane( pane_element, start, end, index, state ); }, 1 );
}
else if( ( state === 'up' ) && ( index === start ) ) { // all done, return
console.log('I just returned true');
return true;
// document.getElementById( 'po_but_cov' ).style.display='none';
}
}
};