正如弗兰克在对您的帖子的评论中所指出的那样,产生警告的return语句就是这样的:
if (post.sanitized) return;
可以通过返回虚拟值(例如null,false,0)使警告静音。该值未使用。
当函数使用没有值的return语句退出时,早期版本的Cloud
Functions不会抱怨。这就解释了为什么您会
return;在链接的视频和文档中看到它们。Firebaser Frank van Pufeelen对问题的评论解释了为什么进行更改。
消除警告的最简单方法是添加返回值,如Frank所建议:
if (post.sanitized) return 0;
另一种选择是将触发器从更改
onWrite()为
onCreate()。然后,在对帖子进行清理并且不需要产生警告的检查时,将不会调用该函数:
exports.sanitizePost = functions.database .ref('/test/{pushId}') .onCreate(event => { // <= changed from onWrite() const post = event.data.val(); //if (post.sanitized) return; // <= no longer needed console.log('Sanitizing new post', event.params.pushId); console.log(post); //post.sanitized = true; // <= not needed when trigger is onCreate() post.title = sanitize(post.title); post.body = sanitize(post.body); return event.data.ref.set(post); });


