afterSave HOOK 函数不生效

APPID: GYuzWMYPPQhrBGf8P29awJFO-gzGzoHsz


问题描述:

我使用的是 express 云引擎,想要部署一个 Card 数据表的 afterSave 云函数。
但 lean deploy 之后,怎么测试都没有调用。

代码如下:

// Hook
AV.Cloud.afterSave(
  "Card",
  request =>
    new Promise(async (resolve, reject) => {
      try {
        const buffer = await QRCode.toBuffer(
          "https://ceco.server.hearfresh.cn/id=" + request.object.id
        );

        const qrcode = await new AV.File("qrcode.png", buffer).save();

    await object.set("QRCode", qrcode).save();

    console.log("AFTER SAVE");
    resolve();
  } catch (error) {
    reject(error);
  }
})
);

测试方法:
在写 AV.Cloud.afterSave("Card", request =>{...}) 的后面撰写了一个名为 createCard 的云函数。

然后 lean deploy 后,在本地又 lean up 调用 createCard 进行创建 Card。

但是不论从数据库结果来看,还是云引擎输出日志来看,

都没有调用成功 After Save.

(确定云函数中的 QRCode 模块已经正确引入)

在本地又 lean up 调用 createCard 进行创建 Card

可能是云引擎环境的问题。可以试下在控制台直接创建一个 Card 对象,看看 afterSave 有没有被调用。

感谢,已经通过 restful api 调试解决问题