2016-09-21 27 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; 
     }); 
};