我想写一个函数,它接受一个回调并在函数完成后调用它.
这很简单:
var callback = function (ref) {
var i = 1337;
while (i--) {
console.log(ref, 'callback');
}
};
var someFoo = function (ref, callback) {
console.log(ref, 'self');
callback(ref);
}
someFoo('one', callback); // 1
someFoo('two', callback); // 2
Run Code Online (Sandbox Code Playgroud)
但是在这里我someFoo遇到了这个问题:首先是呼叫阻塞,直到allback完成.这意味着此代码等效于此(在每个函数完成之前阻塞):
someFoo('one');
callback('one');
someFoo('two');
callback('two');
Run Code Online (Sandbox Code Playgroud)
现在的问题是:如何使回调调用异步?
我正在使用window.location.href重定向我的浏览器,我不确定为什么一个工作,一个不工作.当我使用相对链接时,它会刷新当前页面.当我使用完整的URL时,它会重定向.我所在的页面和Process.aspx页面位于同一目录级别.所以我应该能够有一个相对链接?当我这样做虽然它只是重新加载我正在的当前页面.关于window.location.href我错过了什么基本想法?
$(document).ready(function() {
$( "button" )
.button();
$("#cancel")
.click(function( event ) {
alert("click");
//Below Line Doesn't work
window.location.href = "/Process.aspx";
//Below Line Does work
window.location.href = "http://localhost:65215/Process.aspx";
});
});
Run Code Online (Sandbox Code Playgroud)