MSDK5.4.0中关于KeyManager中getValue同步获取和异步获取的问题
CompletedgetValue分为同步获取和异步获取两种方式,api上介绍说同步的方法是获取缓存中的值,那么我想问一下,以获取无人机序列号为例:
1、连接成功后我直接调用同步的getValue方法应该获取到的参数为空对吧
2、在问题1的基础上,我一段时间后再次调用getValue方法这时能获取到准确的值吗
3、连接成功后我直接调用了异步的getValue方法,然后一段时间后我调用同步的方法获取的是异步的那个值吗?
4、当我连接飞机A后,调用了获取无人机序列号成功后,然后我断开飞机A,在连接飞机B,调用同步getValue方法,这时候我获取的序列号时飞机A,还是飞机B
-
1、连接成功后我直接调用同步的getValue方法应该获取到的参数为空对吧 --> 是的 2、在问题1的基础上,我一段时间后再次调用getValue方法这时能获取到准确的值吗 --> 也是为空的,除非你通过回调的或是获取了值(即异步)或者内部有更新缓存值之后,此时才会有值存在缓存中。这个时候通过同步获取才能获取到缓存值。 3、连接成功后我直接调用了异步的getValue方法,然后一段时间后我调用同步的方法获取的是异步的那个值吗? --> 是的 4、当我连接飞机A后,调用了获取无人机序列号成功后,然后我断开飞机A,在连接飞机B,调用同步getValue方法,这时候我获取的序列号时飞机A,还是飞机B --> 如果你是在A飞机上,拿到了序列号之后,切换成B飞机拿到的序列号是B的,有些key内部是有做更新缓存值得操作的,不一定是你获取到值缓存才会进行更新。
Please sign in to leave a comment.
Comments
2 comments