有一个问题,我似乎无法环绕我的头。我想写一个通用的JavaScript函数,它将接受一个变量和一个回调,并继续执行,直到该变量不是false。Javascript回调时变量设置为X
例如,变量SpeedFeed.user.sid是false,直到代码中发生其他事情,但我不想执行特定的回调,直到它已被设置。
召唤:
SpeedFeed.helper_ready(SpeedFeed.user.sid, function(){
alert(SpeedFeed.user.sid);
// Run function that requires sid to be set.
});
功能:
helper_ready: function(vtrue, callback){
if(vtrue != false){
callback();
} else {
setTimeout(function(){
SpeedFeed.helper_ready(vtrue, callback);
}, SpeedFeed.apiCheckTime);
}
}
我已经收窄到这个问题似乎是,因为在我的setTimeout调用vtrue而不是实际的SpeedFeed。 user.sid,它会一直设置为false。我意识到我可以为每次评估SpeedFeed.user.sid时编写一个特定的函数,但是我想要一个可以在整个应用程序中使用的通用方法。
感谢任何见解:)
SpeedFeed.user.sid是一个函数吗?我认为这是因为你写了*“我打电话给vtrue,而不是实际的SpeedFeed.user.sid”*。因为你叫它,我认为它是一个函数。我错了吗? – user113716 2010-05-29 19:57:57