JavaScript中的State.go-等待它完成
我已经添加了一个JS代码,如下所示-JavaScript中的State.go-等待它完成,javascript,angularjs,Javascript,Angularjs,我已经添加了一个JS代码,如下所示- exports.openTab = function(location) { var $state = app.getInjector().get( '$state' ); var opts = {}; var toParams = {}; toParams.id = "myPage"; $state.go(location, toParams, opts); exports.e
exports.openTab = function(location)
{
var $state = app.getInjector().get( '$state' );
var opts = {};
var toParams = {};
toParams.id = "myPage";
$state.go(location, toParams, opts);
exports.executeUsecase();
};
在这里state.go可以正常工作并打开位置,但问题是它会在executeUsecase下面立即执行,其中的代码依赖于打开的位置。我是否可以确保我的位置打开良好,然后只调用execute方法?我听说过stateChangeSuccess,但不确定如何使用它打开特定的url位置?下面是stateChangeSuccess的使用示例。 此事件将在每次状态转换后触发
app.run(function($rootScope) {
$rootScope.$on("$stateChangeSuccess", function(event, toState, toParams, fromState, fromParams) {
if (fromState.name == "") {
//Do something
}
//Or
if (toState.name == "") {
//Do something
}
});
});
根据您的要求对fromState.name和toState.name进行必要的检查。问题与此相同吗?看看这个…..我之前确实读过这个线程,.thn在state.go之后立即运行,在我的用例中,我想等到它成功。StateChangeSucture似乎对我有效,但不确定如何使用它。检查$state.go是否支持回调$state.go返回承诺,因此$state.go.then=>{//do stuff}我不想在每个转换上都做些什么,我只需要在代码启动的state.go转换完成后执行我的方法。