Javascript 我怎么能用一个;如果;做同样的工作?

Javascript 我怎么能用一个;如果;做同样的工作?,javascript,jquery,methods,return-value,Javascript,Jquery,Methods,Return Value,我希望你们都好 我有一个方法订阅者: subscriber: function() { var self = this; self.hideError(); self.sb.subscribe('seleccionProyecto_seleccionarTarea', function(data) { console.info(data); console.info(data.datos); // HERE I NEED

我希望你们都好

我有一个方法
订阅者

subscriber: function() {

    var self = this;

    self.hideError();
    self.sb.subscribe('seleccionProyecto_seleccionarTarea', function(data) {
        console.info(data);
        console.info(data.datos);
        // HERE I NEED TO RESUME THE CODE
        self.showModal();
        self.idPanel=data.iCont;
    });
},
我有方法
llenarTareasTemp

llenarTareasTemp: function(data){

    var self = this;
    $("#opt1").html("");
    var bEncontrado=false; // REPLACED BY RETURN FALSE.

    $.each(data.datos, function(index,value) {
        if(value!=undefined){ 
            for(var iCont=0;iCont<value.length;iCont++){
                if(self.objTareasTemp.idProyecto==value[iCont].idProyecto){
                    console.info(self.objTareasTemp.idProyecto,"=",value[iCont].idProyecto)
                    $("#opt1").append("<option>"+value[iCont].nombreTarea+"</option>"); 
                    $("#select_seleccionar_proyecto_id").selectpicker('refresh');
                    bEncontrado=true; // REPLACED BY RETURN TRUE.
                }
            }   
        }
    });
        //if(bEncontrado){
        //  self.conRegistro();
        //}else{
        //  self.sinRegistro();
        //  self.llenarTareasRegistradas(self.aDataServer);
        //}
},
这些代码运行良好,但我必须总结一下:

    if(bEncontrado){
            self.conRegistro();
        }else{
            self.sinRegistro();
        } 
这是:

if(bEncontrado){
            self.conRegistro();
        }else{
            self.sinRegistro();
            self.llenarTareasRegistradas(self.aDataServer);
        }
在一个IF中,在方法
订户
中,在
控制台.info(data.datos)之间
self.showmodel()

要做我想做的事,我想我必须更换一些东西。(我评论了那些东西)

因此,在方法
subscriber
中,在
console.info(data.datos)之间
self.showmodel()
,我不知道如何使用一个if对两个
if(bEncontrado)
(从
llenartareastrenstadas
llenarTareasTemp
)排序,因为我必须在方法中删除两个if

参考图像

在第二部分,关于订户方法,我有一个小方案,它什么也不做

(您可以缩放)

请原谅我的英语,谢谢你

解决方案:

我将替换此代码:

   if(bEncontrado){
   self.conRegistro();
   }else{
   self.sinRegistro();
作者:
返回bEncontradoLlentareastemp
和方法
LlentareastRegistradas

在方法
subscriber
中,在
console.info(data.datos)之间
self.showmodel()我把:

        var temp = Boolean(self.llenarTareasTemp(data));
        var server = Boolean(self.llenarTareasRegistradas(self.aDataServer));

        if (temp || server) {
            self.conRegistro();
        }else{
            self.sinRegistro();         
         }

以同样的方式工作,但使用一个“如果”,无论如何谢谢大家,如果我感到困惑,请原谅。

你的问题不是很清楚,但也许这就是你想要的:

subscriber: function() {

    var self = this;

    self.hideError();
    self.sb.subscribe('seleccionProyecto_seleccionarTarea', function(data) {
        console.info(data);
        console.info(data.datos);
        if (self.llenarTareasTemp(data)) {
            self.conRegistro();
        } else {
            self.sinRegistro();
            self.llenarTareasRegistradas(self.aDataServer);
        }
        self.showModal();
        self.idPanel=data.iCont;
    });
},

您应该像这样定义一个函数“isEncontrado”:

/**
*如果encontrado调用self.conRegistro(),否则调用self.sinRegistro()
*@param b是Encontrado
*@param isNeedCall是need call self.llenartareasregistrationdas()
*/
isEncontrado:函数(b,isNeedCall){
如果(b){
self.conRegistro();
}否则{
self.sinRegistro();
如果(isNeedCall)
self.llenartareasregistrationdas(self.aDataServer);
}

}
subscriber
方法中没有
bEncontrado
变量。这是其他两个方法中的局部变量。是否希望
subscriber
调用其他方法并在其
if
中使用它们的值?如果无法完全工作,我需要从这两个方法中删除“if”“bEncontrado”,并在subscriber中创建一个“if”。我需要替换var bEncontrado=true;在这两种方法中,通过返回true和bEncontrado=flase通过返回false。我需要一个布尔型的东西,我不知道。无论是真是假,我都需要打电话,方式和以前一样,但如果。。对不起,我不清楚。。我有点绝望不,还不清楚。不要用
if
语句解释您想要做什么,而是解释这些函数在做什么,以及您试图解决什么问题。
        var temp = Boolean(self.llenarTareasTemp(data));
        var server = Boolean(self.llenarTareasRegistradas(self.aDataServer));

        if (temp || server) {
            self.conRegistro();
        }else{
            self.sinRegistro();         
         }
subscriber: function() {

    var self = this;

    self.hideError();
    self.sb.subscribe('seleccionProyecto_seleccionarTarea', function(data) {
        console.info(data);
        console.info(data.datos);
        if (self.llenarTareasTemp(data)) {
            self.conRegistro();
        } else {
            self.sinRegistro();
            self.llenarTareasRegistradas(self.aDataServer);
        }
        self.showModal();
        self.idPanel=data.iCont;
    });
},