Brython:浏览器中的Python-第八篇
当功能被限定为I/O绑定时,异步功能特别有用。这与CPU绑定功能相反。一个I/O绑定函数是大多花费时间等待输入或输出到结束,而函数CPU限制功能被计算。通过网络调用API或查询数据库是I/O绑定执行,而计算素数序列则受CPU绑定。
Brythonbrowser.ajax公开了HTTP函数,例如
get()和post(),它们在默认情况下是异步的。这些函数采用blocking可以设置为True同步呈现同一函数的参数。
要异步调用HTTPGET,请ajax.get()按以下方式调用:
要以阻止模式获取API,请将blocking参数设置为True:
以下代码显示了进行阻塞Ajax调用与进行非阻塞Ajax调用之间的区别:
上面的代码说明了同步和异步两种行为:
第13行定义了ajax_get(),该代码使用从远程文件中获取文本ajax.get()。的默认行为ajax.get()是异步的。ajax_get()返回,并在接收到远程文件后回调show_text()分配给该参数的参数。on