Je veux faire ce qui suit avec mon codeblock javascript.Besoin d'aide avec la fonction Extjs retournant des résultats non définis
- Gérez toutes les demandes de périphériques actuelles et nouvelles. détecter, chiffrer, déchiffrer, etc
- Retour le résultat à la méthode d'appel
Questions
- Comment puis-je améliorer le code existant et de se débarrasser du javascript avertissement strict: fonction anonyme ne renvoie pas toujours une valeur.
- Quelle est la bonne façon d'appeler ma méthode?
Toute aide est grandement appréciée
Merci!
Ci-joint le code:
Voilà comment j'appelle la méthode actuelle
//Contents of SmEditor.js
var response = Ext.decode(Prometheus.DeviceRequestHelper.detect(request_id));
//contents of Sm.js
Ext.ns('myApp')
myApp.DeviceRequestHelper = {
detect:function(request_id){
var task = function(){
Ext.Ajax.request({
url: 'device_requests.php',
params:{
action:'get_device', //in php
'request_id':request_id
},
timeout:30000, //30 seconds
success:function(response){//serverside response
var result = Ext.decode(response.responseText); //convert to js objects
if(result.success == true){//device was detected
cons.log('success,device was detected');
cons.log(result);
Ext.TaskMgr.stop(runTask);
return Ext.encode(result); //javascript strict warning
}else{
if(runTask.taskRunCount >= 10){
//retry limit exceeded
Ext.Msg.show({
title:'Server Failure',
msg:"Detection Failed,Unable to detect device",
icon: Ext.MessageBox.ERROR,
buttons: Ext.Msg.OK
});
Ext.MessageBox.getDialog().getEl().setStyle('z-index','80000');
Ext.TaskMgr.stop(runTask);
}
}
},
failure:function(response){
Ext.TaskMgr.stop(runTask);
Ext.Msg.show({
title:'Server Failure',
msg:"Failed, server communication error",
icon: Ext.MessageBox.ERROR,
buttons: Ext.Msg.OK
});
Ext.MessageBox.getDialog().getEl().setStyle('z-index','80000');
}
})
}
var runTask = {
run: task,
interval:2000,
repeat:10
};
Ext.TaskMgr.start(runTask);
}
}
Super! Merci d'avoir pris le temps de répondre à ma question. J'appliquerai les changements et je testerai le code avant de répondre à la question. Encore une fois, merci! – QCar
Post le code que vous utilisez pour appeler 'detect()' ... êtes-vous sûr que 'function() {...}' est dans les parenthèses comme deuxième argument? – bobince
Merci !!! RESOLU j'ai oublié de mettre la fonction() entre les parenthèses. Je reçois la sortie que je voulais :) – QCar