共享对象真的发生了什么?

时间:2018-02-02 18:40:08

标签: actionscript-3

我想测试.sol文件是否存在,该文件可能由我的程序编写,也可能没有。

在测试程序中,假设我的共享对象定义如下:

var mySharedObject = SharedObject('foldername'+'/StoredItem');

我写这样的.sol:

mySharedObject.data.storedthing = 'storeddatum';
mySharedObject.flush();

一旦我写了sol,当我尝试测试它是否存在时:

    if(mySharedObject.data.storedItem) 

无论文件是否真的存在,我都会得到'是'!也就是说,如果我在运行测试之前手动删除sol文件,测试仍然会出现正面!如果我跑

    mySharedObject.clear() 

在我做测试之前,我得到一个'不',这是你期望的。但是,即使我手动将sol的精确副本替换回相应的文件夹,我仍然会得到'不'!

就好像AS3实际上不会读取文件而是将共享对象作为静态变量读取。这是一种痛苦,因为否则我必须使用File类测试sol的存在。

关于'if(mySharedObject.data.storedItem)'实际上在做什么的任何想法?

0 个答案:

没有答案