首页 > 解决方案 > 如何在“beforeSave”云函数中取消设置嵌套属性?

问题描述

我已经扩展了一个Parse.Object. 现在我想在保存对象之前取消设置嵌套属性。此嵌套属性settings是一个对象。

所以我的钩子看起来像这样:

Parse.Cloud.beforeSave('MyObject', req => {
   if (req.object.get('settings').propertyToUnset) {
       req.object.unset('settings.propertyToUnset');
   }
});

但是,这会产生错误Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

嵌套属性如何unset工作?

标签: parse-platformparse-serverparse-javascript-sdk

解决方案


你可以尝试这样的事情:

Parse.Cloud.beforeSave('MyObject', async req => {
   const settings = req.object.get('settings');
   await settings.fetch();
   if (settings.get('propertyToUnset')) {
       settings.unset('propertyToUnset');
       await settings.save();
   }
});

推荐阅读