- 百度空间 收藏于 2011-11-29
前段时间,我们的云计算平台的OpenAPI,要出一个客户端。没有办法,其实也知道OAuth 协议为何物?
不过只好顶着头皮上了。
还好,在网上恶补了数篇文章后,对这东东大致有了一丝的了解。随手封装了一个调用API的OAuth底层类库、
这时候不得不说,遇到了一个非常讨厌的问题。因为北森的OpenAPI有几个接口是异步模式的。在读取完一个接口后,
根据这个借口的返回,去调用几个不相关的借口返回数据,拼成一个完整的数据源,同步返回并且同时还要接收一个其他接口轮询
的数据。这可大老难了。 as3这货是单线程的动物,可要了亲命了。 在我不断的努力追踪之下,发下,一旦as3做异步模式的加载
或者回调的时候,上面那个其实相当于开了2个线程,总有时间出现空值的状况。(ps:因为时间不同步)。
这样的话,只能牺牲点时间来换功能了、顺手把HttpHelper类里加了一个状态位作为控制线程的开关。然后把HttpHelper的Oauth请求与
需要轮询并发的功能模块做成了一个队列。把这个时间以同步方式顺平。这样才解决那个很诡异的问题。
我今天加班到 晚上12点,恶寒。