1

我正在尝试使用 firebase-queue。我看到了消毒选项。它在文档中描述为

sanitize - 指定传递给处理函数的数据对象是否对保留供队列使用的内部键进行清理。默认为真。

这是什么意思?

我因未指定而收到错误消息{ sanitize : false }

清理错误

4

1 回答 1

2

设置该sanitize选项后,队列会清理(或清理)提供给处理函数的输入,使其类似于原始客户端放置在队列中的输入,并且不包含由队列实现添加的任何键本身。

但是,如果您依赖_id队列添加的键(通常是以下划线开头的键,例如.sanitize: falseundefined

您可以通过仅执行console.log(data).

关于为什么默认删除这些键的快速说明:直接读取或写入位置(看起来你可能正在做,通过传递undefined到客户端 SDKchild()方法而不是data._id)通常从工作人员本身内部是一个坏主意因为直接执行的写入不受队列中广泛的事务逻辑的保护,以防止出现竞争条件。如果您可以将工作隔离为从提供的data字段中获取输入,并将输出返回给resolve()函数,那么您可能会有更好的时间扩展队列。

于 2017-02-02T19:07:57.437 回答