2016-09-21 30 views
0

GUI上有两个元素,具体取决于上下文,只有一个元素可见。量角器解决功能内的承诺

因此,我喜欢使用一个辅助函数,该函数给出当前可见元素的量角器元素。

但是,我必须等到承诺解决,因为一切都是异步的。

function() { 
     var result; 

     var controlA = $('controlA'); 
     var controlB = $('controlB'); 

     listControl.isDisplayed().then(function (isVisible) { 
     result = isVisible; 
     // STEP X 
     }); 
     // WAIT HERE UNTIL STEP X is done 

     return result ? controlA : controlB; 
    }; 

说明:我不想等到控件变得可见。

回答

0

您可以直接在isDispalyed()承诺本身内部返回控件。查看下面的示例代码。

function() { 
     var result; 

     var controlA = $('controlA'); 
     var controlB = $('controlB'); 

    return listControl.isDisplayed().then(function (isVisible) { 
     return isVisible ? controlA : controlB; 
     }); 
};