Meteor.methods是如何使用"本机代码"制作的?

tru*_*ktr 2 meteor

在做console.log(Meteor.methods)浏览器,结果是

function () { [native code] }
Run Code Online (Sandbox Code Playgroud)

我以为[native code]是在浏览器中实现的功能?例如,Meteor.methods不是内置于Chrome中的.这怎么可能?

ims*_*vko 5

Meteor.methods是另一个JS函数的重新绑定:https://github.com/meteor/meteor/blob/devel/packages/ddp/client_convenience.js#L52.除了它的结果之外,没有什么特别之处Function.bind.在您的控制台中尝试:

x = function () {}
y = x.bind(null, 1)
Run Code Online (Sandbox Code Playgroud)

如果你打印y,那将是[native code]因为Chrome不知道如何最好地打印绑定功能.