首页 目录 View on GitHub

the Leancloud framework G

返回

作用

LeanCloud云代码的包装,包含一些额外操作,例如错误处理、请求返回的包装。
它派生于 CallbackList

概念

默认位置
APP_PATH/cloud/functions,这个类型只在初始化时使用,而初始化过程就是依次读取这个目录中每个文件的过程。

实现

当初始化完成后,系统自动通过 freeze() 方法进行“冻结”,以准备好被调用。
初始化和冻结时,分别在任务列表前后插入一个任务。
第一个任务的作用是将输入转换成一个 InputChecker 最后一个任务的作用是返回数据给客户端。

在返回任务现在的实现中,允许两种返回方式:
如果两者都存在,则 返回对象 会被合并到 assign 对象中,然后再输出。这样效率不高,推荐只用其中一种。
不论返回值是什么,只要没有status字段,都会添加一个 status=0 到结果中。

API

构造函数(String name, CallbackList thisArg)

name:立即调用 setName() 确定这个云代码的名字
thisArg:可选,可以用一个 CallbackList 对象代替 this

setTitle(String title)

内部函数,自动调用。
设置云代码的名字,用于日志
title=云代码的名字(AV.Cloud.define的第一个参数)

setName(String name)

用于调试,指示这个云代码是做什么的,它会出现在日志中。
一般通过构造函数的第一个参数调用

freeze()

内部函数,自动调用。 “冻结”这个 CloudCodeWrapper,它不再拥有继承自 CallbackList的方法。也就是不能再向其中添加新任务。此时这个 CloudCodeWrapper 才可以注册给 AV.Cloud.define

runner(Request req, Response rsp)

这个对象的主要处理函数
参数要求 “云代码” 的request和response对象(不能是express的)
这个方法将成为 AV.Cloud.define 的第二个参数

call(Object params)

手动调用这个云代码
返回Promise,用云代码的结果resolve(或错误reject)
可以通过它调用当前项目自身的云代码函数而不必产生没必要的http请求