&引用;包括「;Javascript函数在WSO2 ESB脚本中介程序中不起作用

&引用;包括「;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")

“包含”Javascript函数在WSO2 ESB脚本中介中不起作用。我已经使用WSO2ESB尝试过了

<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函数给出一个错误