我有一个graphQL的变化,我正在运行使用axios内部的forEach循环。我传递的值之一是作为字符串的正则表达式规则,但当我运行函数时,当我传递像^(http|https)\:\/\/[a-zA-Z0-9\u00C0-\u017F\-\.]+\.[a-zA-Z0-9\u00C0-\u017F\/\.\_\-]+?$
这样的值时,我得到以下错误
[
{
message: 'Parse error on "\\"" (error) at [13, 32]',
locations: [ [Object] ]
}
]
[
{
message: 'Parse error on "^" (error) at [13, 34]',
locations: [ [Object] ]
}
]
[
{
message: 'Parse error on "[" (LBRACKET) at [13, 34]',
locations: [ [Object] ]
}
]
我的代码:
const createMut = (id, res) => `
mutation {
createField(input: {
id: "${id}",
label: "${res.label}",
custom_validation: "${res.custom_validation}",
}) {
table_field {
id
label
}
}
}
`;
const myFunc = (id, result) => {
result.data.forEach(d => {
axiosFunc({ query: create_fields(id, d) }).then((response) => response);
});
}
结果中的d.custom_validation
被设置为类似^(http|https)\:\/\/[a-zA-Z0-9\u00C0-\u017F\-\.]+\.[a-zA-Z0-9\u00C0-\u017F\/\.\_\-]+?$
或^[^\s]+(\s+[^\s]+)*$
的值。但是当我调用我的函数时,我得到了上面提到的错误。如何将regex值发送到graphQL mutation?
1条答案
按热度按时间8yparm6h1#
使用查询
variables
,而不是尝试将变量直接注入查询:如果
custom_validation
是一个javascript正则表达式对象而不是字符串,那么你需要将它转换为字符串。