调用

内联挂起 乐趣 <t> 功能.调用(name String vararg args Any ): t

调用 Atlas 函数。

由于序列化引擎尚不支持第三方库,因此可用作参数和返回类型的类型存在一些限制:

  • Primitives、Bson、MutableRealmInt、RealmUUID、ObjectId、RealmInstant、RealmAny、Array、Collection 和 Map 是有效的参数类型。

  • 结果只能反序列化为 Bson、MutableRealmInt、RealmUUID、ObjectId、RealmInstant、RealmAny 和基元类型

数组或映射的 Bson 实现是BsonArrayBsonDocument ,它们可用作有效的返回类型。

返回

函数调用的结果。

参数

名称

要调用的函数的名称。

args

函数的参数。

t

函数返回值类型。

抛出异常

如果函数以某种方式失败。

与 App Services 通信时可能发生的其他故障。 有关详细信息,请参阅AppException


内联挂起 乐趣 <t> 功能.调用(name : String , callBuilderBlock : CallBuilder < T > . ( ) ->单位): t

使用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
}

我们不能使用泛型,因为:

返回

函数调用的结果。

参数

名称

要调用的函数的名称。

调用 构建器 区块

设置调用参数和序列化器的代码块。

t

函数返回值类型。