lua 函数调用
yeelink=require("yeelink_lib")yeelink.init(23333,23333,"Youapi-key",function()print("...
yeelink = require("yeelink_lib")
yeelink.init(23333,23333,"You api-key",function()
print("Yeelink Init OK...") 请教这部分语句,何时会执行到
tmr.alarm(1,60000,1,function() --Step4: Have fun~ (Update your data)
yeelink.update(dht.getTemperature())
end)
end)
这个匿名函数的回调函数在init()的神马时候执行? 展开
yeelink.init(23333,23333,"You api-key",function()
print("Yeelink Init OK...") 请教这部分语句,何时会执行到
tmr.alarm(1,60000,1,function() --Step4: Have fun~ (Update your data)
yeelink.update(dht.getTemperature())
end)
end)
这个匿名函数的回调函数在init()的神马时候执行? 展开
展开全部
这得看你这个 yeelink.init 怎么处理啊
你这个函数是作为 yeelink.init 的第4个参数,那你得看你的 init() 里怎么对这个参数处理
你这个函数是作为 yeelink.init 的第4个参数,那你得看你的 init() 里怎么对这个参数处理
追问
function M.init(_device, _sensor, _apikey)
return dns
end
函数的原形没有定义啊,况且这个是回调函数,应该是在init()返回一些东西后才会执行到,
这个函数是网上抄的,原例子就是这样的,我在执行时的状况,就死在了init()中,没有返回,
可能我对回调函数理解不透澈吧
追答
代码不全吧
作为参数传给了某个函数,那就得让某个函数执行,看你这个原型只定义了3个参数,也没什么处理啊
例子:
-- 定义一个函数,作为回调,可以不定义,到时传入时直接写入一个函数
function callback(a)
print('callback ' .. tostring(a))
end
function func1(a, b, c, d)
-- 判断第4个参数是否是一个函数
if type(d) ~= 'function' then
return false
end
-- 简单处理
if (a == 'AAA') and (b == 'BBB') then
-- 执行 第4个参数,也就是传入的那个函数
d(c)
else
d('err')
end
return true
end
func1('AAA', 'BBB', 'CCC', callback)
或者是
func1('AAA', 'BBB', 'CCC', function(a) print('callback ' .. tostring(a)) end)
结果都是输出 callback CCC
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询