javascript – Google Firebase错误(函数返回未定义,预期的Promise或值)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – Google Firebase错误(函数返回未定义,预期的Promise或值),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1768字,纯文字阅读大概需要3分钟。
内容图文
我正在使用Firebase开发Server.
我在Youtube上复制了Google Developer’s Video.
它运行良好,但在日志中有一个错误:
Function returned undefined, expected Promise or value
它说函数返回undefined,但我让函数返回一个promise`set“
我怎么解决这个问题?
function sanitize(s) {
var sanitizedText = s;
console.log('sanitize params: ', sanitizedText);
sanitizedText = sanitizedText.replace(/\bstupid\b/ig, "wonderful");
return sanitizedText;
}
exports.sanitizePost = functions.database
.ref('/posts/{pushId}')
.onWrite(event => {
const post = event.data.val();
if (post.sanitized) return;
console.log('Sanitizing new post', event.params.pushId);
console.log(post);
post.sanitized = true;
post.title = sanitize(post.title);
post.body = sanitize(post.body);
return event.data.ref.set(post);
})
我是Firebase,Nodejs的初学者.
解决方法:
正如弗兰克在对你的帖子的评论中指出的那样,产生警告的返回声明是这样的:
if (post.sanitized) return;
通过返回虚拟值(例如,null,false,0)可以使警告静音.该值未使用.
当函数使用没有值的return语句退出时,早期版本的Cloud Functions没有抱怨.这就解释了为什么你看到回归;在您关联的视频中以及the documentation. 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);
});
内容总结
以上是互联网集市为您收集整理的javascript – Google Firebase错误(函数返回未定义,预期的Promise或值)全部内容,希望文章能够帮你解决javascript – Google Firebase错误(函数返回未定义,预期的Promise或值)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。