调用
调用 Atlas 函数。
由于序列化引擎尚不支持第三方库,因此可用作参数和返回类型的类型存在一些限制:
Primitives、Bson、MutableRealmInt、RealmUUID、ObjectId、RealmInstant、RealmAny、Array、Collection 和 Map 是有效的参数类型。
结果只能反序列化为 Bson、MutableRealmInt、RealmUUID、ObjectId、RealmInstant、RealmAny 和基元类型
数组或映射的 Bson 实现是BsonArray和BsonDocument ,它们可用作有效的返回类型。
返回
函数调用的结果。
参数
名称
要调用的函数的名称。
args
函数的参数。
t
函数返回值类型。
抛出异常
如果函数以某种方式失败。
与 App Services 通信时可能发生的其他故障。 有关详细信息,请参阅AppException 。
使用AppConfiguration.ejson中定义的 EJson 编码器调用 Atlas 函数。
备注此方法支持完整文档序列化。 调用参数是使用构建器CallBuilder定义的。 该构建器还允许将任何参数或返回类型手动绑定到特定的序列化器。 参数和返回值将使用AppConfiguration.ejson进行编码和解码。
val dog: Dog = user.functions.call("RetrieveDog") {
add("a parameter")
add(1.5, FloatSerializer) // sets the serializer for this particular argument
returnValueSerializer = DogSerializer // sets the serializer for the return type
}
内容已复制到剪贴板
我们不能使用泛型,因为:
没有可用于 Any 的序列化器。
返回
函数调用的结果。
参数
名称
要调用的函数的名称。
设置调用参数和序列化器的代码块。
t
函数返回值类型。