server
- server(func_name, params, callback)
使用范围: client
编程语言: javascript
父类: AbstractItem
描述说明
使用 sever 方法在客户端可以执行一个在实体项的服务端模块中定义的函数。
sever 方法会执行一个在实体项的服务端模块中定义的函数,函数名称形式为 func_name ,
而且可以在 sever 方法的 参数(params) 中指定函数需要的参数。
如果指定了回调,服务器上的函数将异步执行,随后使用服务器函数执行结果作为参数执行 callback ,
否则函数将同步执行并返回服务器函数的结果。
如果函数在服务端上的操作抛出异常,并且未传递回调参数(同步执行),客户端将抛出异常。 如果存在回调参数,它将作为参数传递给回调。
当服务端函数执行期间引发异常时,客户端的应用程序会抛出包含服务端异常文本的异常。
服务器上函数的第一个参数必须是 item,它必须跟随客户端函数中指定的参数。
参数(params) 是一个参数列表,如果没有参数,可以省略 参数(params) 。
示例
在 发票(Invoices)* 业务台账的服务端模块中,定义函数:
def get_total(item, id_value):
result = 0;
copy = item.copy()
copy.set_where(id=id_value)
copy.open()
if copy.record_count():
result = copy.total.value
else:
raise Exception, 'Journal "invoices" does not have a record with id %s' % id_value
return result;
下面在 发票(Invoices)* 业务台账的客户端模块的代码中,将调用这个服务端的函数:
task.invoices.server('get_total', [17], function(total, err) {
if (err) {
throw err;
}
else {
console.log(total);
}
});