JavaScript - sigo con los asincronicos

 
Vista:
sin imagen de perfil
Val: 4
Ha aumentado su posición en 15 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

sigo con los asincronicos

Publicado por german (3 intervenciones) el 08/11/2017 16:46:50
esto es lo que me marea:

llamo a la funcion cmdsend que le manda el comando a la impresora fiscal
el tema es que la llamo 5 veces. con cada comando
y la api.SendCommand contesta cuando quiere, devolviendome en el callback la respuesta
pero tengo que analizar la respuesta antes de mandar el segundo comando

como hago para que cmdSend no retorne hasta que no haya recibido la respuesta ?


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function cmdSend(orden,api,fields_list,cmd,named=false) {
	api.ip = document.getElementById("input_ip").value;
	api.auth_user = document.getElementById("input_user").value;
	api.auth_pass = document.getElementById("input_pass").value;
 
	var cmditem = ""
	logArea = document.getElementById("logarea");
 	resArea = document.getElementById("uno");
	itemArea = document.getElementById("item");
	salida = document.getElementById("salida");
 
	cmditem = "cmd: "+cmd+"";
	for (i=0; i<fields_list.length; i++)
		cmditem += ","+fields_list[i];
	cmditem += "\n";
	itemArea.innerHTML += cmditem;
	salidasend = "";
	api.SendCommand(cmd, fields_list, function(ok,data,error,xhr) {
		if (ok)
		{
			resArea.value = orden;
			logArea.innerHTML += orden+" cmd:"+cmd+" res: "+JSON.stringify(data)+"\n";
			salida.innerHTML = JSON.stringify(data)+"\n";
			//console.log(data["2"]);
		}
		else
		{
			logArea.innerHTML += "error: "+error+"\n";
			salida.innerHTML = error;
			resArea.innerHTML = "error:"+error+"\n";
			estadotkt=1;
		}
	});
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder