在FB之后访问FBResult的文本(和错误)属性时。协程中的 API 调用存在 NullReferenceException,因为内部 WWW 对象已被释放。
FBResult result = null;
FB.API(query,httpMethod,(r)=>{
result = r;
});
while(result==null) yield return null;
print(result.Text);//Accessing result.Text produces error.
NullReferenceException:WWW 类已被释放。
UnityEngine.WWW.get_text ()
FBResult.get_Text ()
文档明确指出
请注意,FBResult 实现了 IDisposable,这意味着 FBResult 调用回调后,对象会受到释放的影响。如果 你想保存纹理或字符串,保存这些值 而不是试图拯救FBResult本身。
你应该在
回调中使用结果,因为这是回调的全部意义。
FBResult result = null;
FB.API(query,httpMethod,(r)=>{
result = r;
print(result.Text);
});
以你正在做的方式在外面等待并不是正确的方法。