# onComplete 回调

> 来源：https://help.gravity-engine.com/docs/client-sdk/mini-programs/advanced/on-complete-callback
> 说明 Gravity Engine 小程序 SDK 的 onComplete 回调用法、返回码含义，以及参数对象方式调用时的注意事项。



对于 `track`、`userSet`、`userSetOnce`、`userAdd`、`userDel`、`userAppend`、`userUniqAppend`、`userNumberMax`、`userNumberMin` 等方法，支持传入 `onComplete` 回调。可以直接在原参数列表后传入 `onComplete`，也可以使用参数对象的方式。如果使用参数对象，参数对象中必须包含 `onComplete`，否则会出现参数错误。

以上传事件为例：

```js
// 以参数列表的形式传入回调
ge.track("test", { testkey: 123 }, new Date(), (res) => {
  console.log(res);
});

// 以参数对象的形式传入回调
ge.track({
  eventName: "test", // 必填
  properties: { testkey: 123 }, // 可选
  time: new Date(), // 可选
  onComplete: (res) => {
    console.log(res);
  }, // 必填
});
```

## 回调参数说明 [#回调参数说明]

`onComplete` 的参数 `res` 为 `object` 类型，有两个属性 `code` 和 `msg`。

* `res.code` 为 `int` 类型，定义如下：
  * `0`：成功
  * `-3`：网络或服务端异常
  * `2001`：应用未授权或已过期
  * `2000`：权限不足，该用户尚未初始化
  * `1004`：参数错误，一般是参数类型错误，或者缺失参数
  * `1001`：数据错误，json 解析错误
* `res.msg` 是对 `res.code` 的文字说明。
