我正在使用Elasticsearch JavaScript API。
以下脚本在没有错误的情况下运行:
const script = {
"lang": "painless",
"source": `
for (int i = 0; i < ctx._source.metadata.length; ++i) {
}
`,
};
但是,当我尝试使用三个双引号时,如下例所示:
(因为我的脚本将是一个复杂的多行),我将我的代码修改为:
const script = {
"lang": "painless",
"source": `
"""
for (int i = 0; i < ctx._source.metadata.length; ++i) {
}
"""
`,
};
然后我收到以下错误:
“reason \”:\“意外令牌['\\”\\ n for(int i = 0; i <ctx._source.metadata.length; ++ i){\\ n} \\ n \\“' ]期待其中一个[{,';'}]。\“}},\”status \“:500}”}
我该如何解决这个问题?
在JavaScript中,多行字符串可以用`来完成。不需要“”“。您引用的文档不适用于JavaScript。
...因为我的剧本将是一个复杂的多行
...但是你的第一个例子也显示了多行代码并且有效吗?