差异protractor.controlFlow().exec和browser.call()

我知道要将一个自定义函数插入到量angular器控制stream程中,您可以使用protractor.controlFlow()。execute,如下所示:

protractor.promise.controlFlow().execute(function() { return getData().then(function(my_data) { return my_data.some_process(); }); }); 

但是,似乎我可以使用browser.call()方法做同样的事情:

 browser.call(function() { return getData().then(function(my_data) { return my_data.some_process(); }); }); 

据我所知,browser.call是webdriver控制stream的包装,protractor.controlFlow()与量angular器本身具有类似的function。 两者都回报“承诺”,所以他们似乎在做同样的事情。

两种方法是可以互换的吗? 如果不是的话,我什么时候该用这个或那个。