功能中$ cordovaDialogs的回调/承诺

时间:2016-06-03 05:20:36

标签: javascript angularjs ionic-framework

$cordovaDialogs本身有以下承诺:

$cordovaDialog.alert('message', 'title', 'OK').then(function() {
    $state.go('app.nextPage');
});

如果我直接使用它,它的工作完全正常,但现在我试图将它封装到一个函数中,如下所示:

app.factory('AppCommon', function ($cordovaDialogs) {

    var alert = function(message, title, confirmButton) {
        $cordovaDialogs.alert(message, title, confirmButton)
    }

    return {
        alert: alert
    }
});

现在我试图以这种方式使用它,但它失败了。如果确认警报框,我该怎么办才能使$state.go执行?

AppCommon.alert('message', 'title', 'OK').then(function() {
    $state.go('app.nextPage');
});

1 个答案:

答案 0 :(得分:1)

只需从.then函数返回您尝试alert()的承诺。由于$cordovaDialogs.alert()返回一个promise,您需要返回它。

app.factory('AppCommon', function ($cordovaDialogs) {

  var alert = function(message, title, confirmButton) {
    return $cordovaDialogs.alert(message, title, confirmButton)
  }

  return {
    alert: alert
  }
});