Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   не работает обработка confirm (https://javascript.ru/forum/misc/73607-ne-rabotaet-obrabotka-confirm.html)

pokk 28.04.2018 08:45

не работает обработка confirm
 
Есть функция, на включение выключение устройства по JSON URL запросу, решил добавить подтверждение, добавил и если быстро нажимать ок после сообщения, то запрос отправляется, если же подождать пару секунд, после сообщения, то запроса нету.
Почему так происходит ?
export function Supply(power){
	if(power=='ON'){
		if (confirm("Вкл?")) {
		Modul_2.GetSettingTimeout('Transmiter.CGI?Supply$ON',Single,function () {
					if(this=="OK"){
					 alert("Вкл");
				}
				if(this=="ERROR"){
					//alert("Ошибка");
				}
			});
		} else {
		  alert("отмена");
		}			
	}
	if(power=='OFF'){
		if (confirm("выкл?")) {
						Modul_2.GetSettingTimeout('Transmiter.CGI?Supply$OFF',Single,function () {
				if(this=="OK"){
					alert("Выкл");
				}
				if(this=="ERROR"){
					//alert("Ошибка");
				}
			});	

		} else {
		  alert("отмена");
		}			
		
	}
}


//==================================================================================================
/*
	* @Описание: 	a one-time function call.  cyclic function call
	* @Параметр:	
	* @Возврат:		Нету
*/
export function GetSettingTimeout(link,ModeFuncCall,CallbackTrue,CallbackFalse) {
        (function _f() {
			//var http2 = createRequestObject();
            if( http2 ) {
				//---------------------------------------------
				var uriEncode = encodeURI(link).replace(/%20/g,'!').replace(/'/g,'~').replace(/%22/g,'"').replace(/%5B/g, '[').replace(/%5D/g, ']');
				//console.log(uriEncode);
                http2.open('GET', uriEncode, true);
				//---------------------------------------------
				http2.timeout =13000;
				//---------------------------------------------
                http2.onreadystatechange = function () {
					if (http2.readyState == 4&&http2.status == 200) {
						
					if (CallbackTrue && typeof(CallbackTrue) === "function") {
						CallbackTrue.call(http2.responseText);
					}						
						
						//CallbackTrue.call(http2.responseText);
						//ConnectSuccessful();
						if(ModeFuncCall==CYCLIC){
							TimerID = setTimeout(_f, 1000);
						}
                    }
                };
				//---------------------------------------------
				http2.ontimeout = function() {
					//Disconnect();
					TimerID = setTimeout(_f, 1500);
					if (CallbackFalse && typeof(CallbackFalse) === "function") {
						CallbackFalse.call(http2.responseText);
					}
				};
				//---------------------------------------------
				http2.abort= function() {
					if(StatusAbort==ClearAbbort){
						//Disconnect();
						StatusAbort=ClearAbbort;
						TimerID = setTimeout(_f, 1000);
					}
				};
				//---------------------------------------------
                http2.send(null);
            }else{
				TimerID = setTimeout(_f, 1000);
            }
        })();
    }


Часовой пояс GMT +3, время: 07:25.