【发布时间】:2012-02-06 19:19:40
【问题描述】:
我是 Corona SDK 和 Lua 语言的新手,遇到了一些麻烦..
所以我有这个功能,它将网络请求发送到我的站点并通过 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
【问题讨论】: