我是新来的电晕SDK和Lua语言,我有一些麻烦..科罗娜SDK的Lua network.request延迟
,所以我有这个功能,将网络请求到我的网站,并通过JSON我收到的数据。这很好。
的问题是,当我叫变量与侦听器功能之外的数据响应,这似乎是nil
。我把一个小计时器跟踪,如果问题是由于请求和响应之间的时间,它似乎是一个(但我不知道100%)。我不想使用自定义延迟来执行此操作。
有一些方法将脚本暂停,直到听众响应,然后继续执行?我曾尝试与协程,但我没能解决它..
local data
function networkListener(event)
if (event.isError) then
print("Network error!")
else
--print ("RESPONSE: " .. event.response)
data = json.decode(event.response)
print(data[1].start_date) --working great
end -- end of else statement
end
network.request("http://localhost/mysite/myphpmethod" , "GET", networkListener)
print(data) -- error: attempt to index upvalue 'data' (a nil value)
local function printIt()
print(data[1].start_date)
end
timer.performWithDelay(1000, printIt, 1); -- this works
耶,好吧,很高兴知道。我的第一个解决方案是在网络监听器中,但我认为这是可能的.. 感谢您的回应:) – troopy 2012-01-11 08:06:33