如何编写具有全局作用域的函数 ?
在实体元素的服务端或客户端模块中定义的每个函数,都会成为该元素的一个属性。
因此,借助 任务树 , 你可以在项目的任意模块中,访问在客户端或服务端模块内声明的任意函数。
例如,若我们在 客户(Customers) 的客户端模块中声明了一个函数 some_func ,
就可以在项目的任意模块中调用它。需要注意的是, task 在客户端中是一个全局变量。
task.customers.some_func()
在服务端中, task 不是全局变量,但触发/调用它的实体项会被传入至每个由
server 方法调用的事件处理程序和函数中。
因此,如果 some_func 函数是在 Customers 的服务端模块中声明的,
在函数或事件处理程序中就可以按如下方式调用:
def on_apply(item, delta, params):
item.task.customers.some_func()
需要注意,事件处理程序本质就是函数,同样也可以由其他模块调用。