说到异步回调函数的应用,最经典的就是ajax。
首先我们回想一下ajax是如何工作的。
variable=new XMLHttpRequest();
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","test1.txt",true);
xmlhttp.send();
这是一个经典的ajax使用方式,创建对象后为对象绑定回调函数,然后发送请求到远程服务器,由于是异步,所以继续往下执行,当远程服务器返回的时候,调用绑定的回调函数。
这里我们看到浏览器为我们做了一些事情,1、发送请求到远程服务器,2、监听远程服务器的返回,并且根据返回找到了对应的回调函数,然后执行。
实际上这里可以分成3个模型,一是脚本执行流程,二是浏览器底层,三是远程服务器。
而且为了实现python的异步回调函数也需要这三个模型。
根据自己的需要,我做了3个模型。
1是监听器listener,相当于浏览器底层。
作用是:监听7800端口
负责接收来自YoSQL服务器的回复
然后解