小编Pra*_*ire的帖子

AngularJS服务并承诺最佳实践

我有一个AngularJS应用程序,我有services调用$http资源并返回promise我在控制器中解析的.以下是我正在做的一个示例:

app.service('Blog', function($http, $q) {
  var deferred = $q.defer();
  $http.get('http://blog.com/sampleblog')
    .then(function(res) {
        // data massaging stuffs
      return deferred.resolve(res.data);
    }, function(err) {
        // may be some error message checking and beautifying error message
      return deferred.reject(err);
    });
    // chain if further more HTTP calls
  return deferred.promise;
});
Run Code Online (Sandbox Code Playgroud)

但我也可以简单地做以下事情:

app.service('Blog', function($http) {
  return $http.get('http://blog.com/sampleblog');
});
Run Code Online (Sandbox Code Playgroud)

然后在controller关卡中进行验证,错误美化,链接承诺等.

我的问题是:在代码弹性和灵活性方面,哪个被认为是"最佳实践"?或者有更好的方法来完成与此完全不同的方式吗?

javascript design-patterns promise angularjs

3
推荐指数
1
解决办法
1073
查看次数

二维迷宫的递归算法?

(这不是重复)我们在所有4个侧面都有一个由X围绕的2D迷宫,也有内部块.
迷宫的所有这些字符都存储在2D数组中.程序必须找到从"S"开始到目标"G"的路径.为此,使用名为'solve(int row,int col)的布尔方法,并使用'S'的行和列索引进行初始化.算法必须是递归的.如果它能够找到'G'的路径并且其他方面是假的,那么它应该返回true.这是我试图解决这个显示"部分正确结果"的问题的方法.

public boolean solve(int row, int col) {
  char right = this.theMaze[row][col + 1];
  char left = this.theMaze[row][col - 1];
  char up = this.theMaze[row - 1][col];
  char down = this.theMaze[row + 1][col];
  if (right == 'G' || left == 'G' || up == 'G' || down == 'G') {
    return true;
  }
  System.out.println("position=>"+"("+row + ":" + col+")");
  if (right == ' ') {
    return solve(row,col+1);
  }
  if (down == ' ') {
    return solve(row+1,col);
  }
  if (left …
Run Code Online (Sandbox Code Playgroud)

java algorithm recursion maze multidimensional-array

2
推荐指数
1
解决办法
2万
查看次数

从PHP类和DBMS技术创建PDO连接字符串

这是我的程序说明.我尝试创建一个数据库连接类,它具有不同的方法,它们从数据库中提取记录的方式不同.

我要做的是 - 将类属性设置为PDO连接参数并创建具有这些属性的默认构造函数.每当我需要数据时,我都会调用那些应该返回记录的方法.

问题是:我想我的用于创建PDO对象的连接字符串是正确的,但它会显示错误,说明未捕获的异常'PDOException',消息'SQLSTATE [HY000] [2002]无法通过套接字连接到本地MySQL服务器'/ var/lib/mysql/mysql.sock'(2)

你能帮我解决一下真的发生了什么吗?您还可以与我分享创建安全,健壮且可动态访问的数据库类或方法的技术和想法吗?我非常感谢.提前致谢!

代码:

<?php
class DatabaseConnection {

        private $hostname;
        private $dbname;
        private $username;
        private $password;

        public function __construct() {
            $this->hostname = "hostname";
            $this->dbname = "database";
            $this->username ="username";
            $this->password = "password";
        }

        function getDataFromTable($query){
            echo $dns;
            $db = new PDO("mysql:host = {$this->hostname} ; dbname = {$this->dbname}", $this->username, $this->password);
            // stuffs ...
        }
}

?>
Run Code Online (Sandbox Code Playgroud)

php mysql security pdo

2
推荐指数
1
解决办法
7032
查看次数

如何在$ ionicPopup显示时禁用物理后退按钮

最近我做了一个用离子框架构建的应用程序.现在,当弹出窗口显示时,后退按钮出现问题.当我按下物理后退按钮时弹出窗口关闭,现在我需要它按下物理后退按钮时显示,所以我找到所有解决方案来禁用物理后退按钮,但没有一个工作.有没有人可以帮我这个?

angularjs ionic-framework

1
推荐指数
1
解决办法
1787
查看次数