如何在 JavaScript 中执行阻塞调用?
在下面的代码中,在 if block 中的代码完成之前,通过调用不同的 js 文件中的 chached.get 方法返回一些值,该代码片段最后一行的警报就会出现。
var getCachedData = function(_key){
var retStr;
if (_key != '' || _key != null) {
cached.get(_key, function(data){
if(data){
alert('data = ' +data.value);
return data.value;
}
else{
return undefine;
}
});
}
alert('completed');
}
最佳答案
cached.get
方法必须异步执行某些操作。您作为参数提供给该方法的函数似乎是一个回调函数,一旦 get
方法成功返回,该函数就会执行。如果您需要运行依赖于 cached.get
调用结果的代码,则需要将其放入该回调中。
关于Javascript 阻止调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6937496/