私はコロナSDKとLuaの言語に新たなんだと私はいくつかのトラブルを持っている...コロナSDKのLua network.request遅延
ので、私は自分のサイトへのネットワーク要求を送信し、JSONを通じて、私はデータを受信し、この機能を持っています。これは素晴らしいです。
問題は、リスナー関数の外部のデータ応答で変数を呼び出すと、nil
と思われることです。リクエストとレスポンスの時間が原因で問題が発生したかどうかを調べるために小さなタイマーを設定し、それがそのように見えます(ただし、100%はわかりません)。私はカスタム遅延を使用してこの操作を実行したくありません。
リスナーの応答までスクリプトを一時停止してから実行を続ける方法はありますか? HTTP呼び出しは、あなたの印刷(データ)は、ほとんど常に空になることを実際に意味し、非同期であってもperformWithDelayが上空である可能性があります。..
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