&引用;包括「;Javascript函数在WSO2 ESB脚本中介程序中不起作用
“包含”Javascript函数在WSO2 ESB脚本中介中不起作用。我已经使用WSO2ESB尝试过了&引用;包括「;Javascript函数在WSO2 ESB脚本中介程序中不起作用,javascript,function,wso2,wso2esb,mediator,Javascript,Function,Wso2,Wso2esb,Mediator,“包含”Javascript函数在WSO2 ESB脚本中介中不起作用。我已经使用WSO2ESB尝试过了 <script language="js"><![CDATA[ var dateFromPayload = mc.getProperty("dateFrom"); var dateToPayload = mc.getProperty("dateTo")
<script language="js"><![CDATA[
var dateFromPayload = mc.getProperty("dateFrom");
var dateToPayload = mc.getProperty("dateTo")
function compareDates() {
var result = false;
print("hiiiii");
print(dateFromPayload.toString());
print(dateToPayload.toString());
var test= "dddd";
if (dateFromPayload.toString().includes("/") || dateToPayload.toString().includes("/")) {
result = false;
} else {
var dateFrom = new Date(dateFromPayload);
var dateTo = new Date(dateToPayload);
result = dateFrom.getTime() <= dateTo.getTime();
if (!result) {
result = false;
}
}
mc.setProperty("fromToDateValidated", result);
}; compareDates()]]></script>
这可能是因为ESB中使用的底层javascript引擎还不支持
includes()
函数。底层javascript引擎是mozilla rhino,版本是1.7R4。这可能是因为此版本不支持上述函数includes()
,因为它是从ECMAScript 6中包含的
作为一种替代方法,您可以使用indexOf()
函数,如下所示
if (dateFromPayload.toString().indexOf("/") != -1) {
result = false;
}
如果(dateFromPayload.toString().includes(“/”)| | dateToPayload.toString().includes(“/”){line includes函数给出一个错误