为什么从服务器获取数据时需要使用异步?

时间:2019-03-19 13:20:36

标签: dart flutter

我是Flutter的新手,我正在尝试从互联网获取数据。我不明白为什么这个功能应该是异步的?

1 个答案:

答案 0 :(得分:1)

异步执行是一种阻止应用程序(线程)在服务器响应到达之前被阻止的方法,这可能是几秒钟甚至是几分钟,并且对于大多数应用程序来说都是不可接受的,尤其是在移动设备上。

默认情况下,Dart运行单个线程(其他线程可以使用隔离启动),并且是事件驱动的。对于来自服务器的响应到达的情况,异步执行会注册一个事件处理程序(根据您的示例)。

@ C:\Program Files (x86)\Python37-32\python.exe C:\Users\User\Desktop\Codes\PROGS\mapIt.py / async是确保代码在特定事件发生后以正确顺序运行的简便方法。

这允许在一个执行线程正在等待某个事件时运行其他代码(事件处理程序)。

其他系统运行多个线程,其中等待响应的线程被暂停。 Dart仅运行一个线程,但通过对事件队列使用异步执行来避免阻塞线程。