Lua 函数定义中的第三个参数都有什么作用?

我正在寻找有关 uv.tcp_connect 和 uv.getaddrinfo 中第三个参数的解释。如何获取真实的函数名或者函数定义?在 tcp_connect 中我看到第三个参数是 function(err)。

  1. function(err) - error 是一个字符串 在 getaddress 中有第三个参数

  2. function(res,err) 大多数情况下是调用 callback() 或 function()

  3. callback() - 如何确定这个回调将调用哪个 API?我知道这都是回调,但在我的 lua 代码中很难找到函数定义。

点赞
用户2858170
用户2858170

我只能猜测你想知道什么。

uv.tcp_connect(tcp, host, port, callback) callback is -function(err)

这句话告诉你函数uv.tcp_connect有四个参数:tcphostportcallback

callback是一个带有一个参数err的函数值。

所以你通常会像这样做(假设err是一个字符串):

local myCallback = function (err) print("The error is: " .. err) end
uv.tcp_connect(myTcp, myHost, myPort, myCallback)

或者使用匿名函数:

uv.tcp_connect(myTcp, myHost, myPort, function (err) print("The error is: "..err) end)

在某个时刻,程序将调用你的回调函数,并根据参数列表提供参数。

2021-08-09 16:35:25