Ajax中的异步意味着什么?以及Ajax如何在没有服务器轮询的情况下知道何时提取数据?
如何进行简单的非块Javascript函数调用?例如:
//begin the program
console.log('begin');
nonBlockingIncrement(10000000);
console.log('do more stuff');
//define the slow function; this would normally be a server call
function nonBlockingIncrement(n){
var i=0;
while(i<n){
i++;
}
console.log('0 incremented to '+i);
}
Run Code Online (Sandbox Code Playgroud)
输出
"beginPage"
"0 incremented to 10000000"
"do more stuff"
Run Code Online (Sandbox Code Playgroud)
如何形成这个简单的循环以异步执行并通过回调函数输出结果?这个想法是不阻止"做更多的东西":
"beginPage"
"do more stuff"
"0 incremented to 10000000"
Run Code Online (Sandbox Code Playgroud)
我已经尝试过关于回调和延续的教程,但它们似乎都依赖于外部库或函数.他们都没有在真空中回答这个问题:如何编写Javascript代码是非阻塞的??
在询问之前,我非常努力地寻找这个答案; 请不要以为我没看.我发现的一切都是Node.js特定的([1],[2],[3],[4],[5])或其他特定于其他函数或库([6],[7],[8],[9],[10],[11]),特别是JQuery和setTimeout().请帮我用Javascript编写非阻塞代码,而不是Javascript和Node等Javascript编写的工具. 请在将其标记为重复之前重新阅读该问题.
我很难理解异步调用和回调之间的区别.
我读过这篇讲授CallBacks的帖子,但没有一个答案说明它与异步调用的区别.
这是Callbacks = Lambda表达式吗?
回调是在不同的线程中运行的?
有人能用简单的英语解释这个吗?