Коллеги! Помогайте. Итак, код (конечно вопрос по ESP8266): Код (Lua): function gotconnect() local get = "" ip = wifi.sta.getip() if ip == nil then get = "nowifi" else get = "noconnect" do conn=net.createConnection(net.TCP, 0) conn:on("connection",function(conn) conn:send("HEAD / HTTP/1.1\r\n\r\n") connection = conn get = "ok" end) conn:on("receive", function(conn, payload) get = "ok" conn:close() print(payload) end) conn:connect(80,'ya.ru') end end print(get) return get end a = gotconnect() print(a) Если выполнить весь код, то ответ от функции всегда (при наличии wifi соединения) будет "noconnect". Если отправить интерпретатору лишь кусок от local get = "" до print(get) - ответ "ок". Понимаю, что что-то в видимости переменных, но уже не знаю что делать.
Решение, полученное методом инженерного тыка: Код (Lua): get = "" function gotconnect() ip = wifi.sta.getip() if ip == nil then get = "nowifi" else do get = "noconnect" conn=net.createConnection(net.TCP, 0) conn:connect(80,'ya.ru') conn:on("connection",function(conn) conn:send("HEAD / HTTP/1.1\r\n\r\n") connection = conn get = "ok" end) conn:on("receive", function(conn, payload) get = "ok" conn:close() --print(payload) end) end end print(get) return end gotconnect() print(get)