如何让 AS3 等待 JSON.parse 完成?
How to make AS3 wait for a JSON.parse to complete?
我正在编写一个 class 来检查服务器上的消息(以 JSON 数组的形式),
然后检查该特定消息是否已存储在本地。
我想解析服务器消息,然后调用一个函数来检查本地消息并比较两者之间的值(例如消息编号)。
但是 JSON class 没有 COMPLETE 事件,我不确定如何将我的代码放慢速度,以便它在解析本地文件之前等待第一次解析 (这也是一个 JSON 数组)。
我担心,不知何故,第二次解析可能会在第一次解析之前完成,然后尝试将真实值与空对象进行比较。
目前这实际上并没有发生,因为第二次解析所用的时间与第一次一样长。但是无论如何,有没有办法让它更确定呢?
JSON.parse()
是一个同步任务,这意味着它将在您的应用程序继续之前完成,例如
var a:Object = JSON.parse('{}'); // Will always complete before;
var b:Object = JSON.parse('{}');
我假设您的实际意思是您希望在进行检查之前绝对确定来自服务器的数据可用,这就像在 COMPLETE
处理程序中进行检查一样简单URLLoader
用于检索 JSON 的对象。
我正在编写一个 class 来检查服务器上的消息(以 JSON 数组的形式), 然后检查该特定消息是否已存储在本地。
我想解析服务器消息,然后调用一个函数来检查本地消息并比较两者之间的值(例如消息编号)。
但是 JSON class 没有 COMPLETE 事件,我不确定如何将我的代码放慢速度,以便它在解析本地文件之前等待第一次解析 (这也是一个 JSON 数组)。
我担心,不知何故,第二次解析可能会在第一次解析之前完成,然后尝试将真实值与空对象进行比较。
目前这实际上并没有发生,因为第二次解析所用的时间与第一次一样长。但是无论如何,有没有办法让它更确定呢?
JSON.parse()
是一个同步任务,这意味着它将在您的应用程序继续之前完成,例如
var a:Object = JSON.parse('{}'); // Will always complete before;
var b:Object = JSON.parse('{}');
我假设您的实际意思是您希望在进行检查之前绝对确定来自服务器的数据可用,这就像在 COMPLETE
处理程序中进行检查一样简单URLLoader
用于检索 JSON 的对象。