Javascript триггер дважды - PullRequest
1 голос
/ 26 мая 2020

Я использую Javascript для запуска потока, когда я хочу изменить состояние. Все работало нормально, но функция JavaScript срабатывала два раза, когда я пытался изменить состояние моей записи:

storno=function (executionContext){
var functionName = "storno";
var formContext = executionContext.getFormContext();
   if(formContext.getAttribute("statecode").getValue() == 3)
    { 
        try
        {
            var data= {"id": ""};
            data.id = formContext.data.entity.getId();
            var requestUrl ="https://prod-161.westeurope.logic.azure.com:443/workflows/be86749dcdccdca10458/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=mPDRr3nKLQEN6oWMk1JE-laDKwAKe_dx46fqKYw"; 

        var req = new XMLHttpRequest();
        req.open("POST",requestUrl,true);
        req.setRequestHeader("Accept","application/json");
        req.setRequestHeader("Content-Type","application/json; charset=utf-8");
        req.setRequestHeader("OData-MaxVersion","4.0");
        req.setRequestHeader("OData-Version","4.0");
        req.onreadystatechange = function()
        {
            if(this.readyState == 4 || this.readyState == 2)
            {
                req.onreadystatechange = null;

                if (this.status == 200 || this.status == 204 || this.status == 202)
                    {
                        formContext.data.refresh(true);
                    }
                else{
                    var error = JSON.parse(this.response).error;
                    }
            }
        };
        req.send(JSON.stringify(data)); 
    }
    catch(ex)
    {
        Obj_RunFlow.throwError(functionName,ex.massage);
    }
}

};

...