MarkLogic 版本:9.0-6.2
我们有一个协调流程,我们准备将 content.sjs 中的“源”变量传递给 writer.sjs。我有一个应该跳过编写器的场景(例如,如果文档已经存在于最终数据库中并且暂存文档的时间戳小于最终文档中的时间戳,那么我不想写入最终文档)
这是 content.sjs 中的代码片段
let source;
//logic to populate source
options.headers = source.envelope.headers;
return extractInstanceCustomer(source.envelope.instance);
我们注意到,当源为空时,有时这会跳过编写器。但是,在某些情况下,使用空源调用 writer,因此信封是使用标头创建的,但实例是空的。
我们尝试了以下逻辑,但仍然没有看到一致的行为。
let source;
//logic to populate source
if (fn.empty(source)) {
}
else {
options.headers = source.envelope.headers;
return extractInstanceCustomer(source.envelope.instance);
}
当我们不想在协调流程期间从暂存中编写文档时,跳过编写器的最佳方法是什么。