我正在使用Angular ui-router并在初始化控制器之前为我的一个状态设置了解析功能.我检索一些数据,循环并匹配URL stateParam,如果找到匹配,解析对控制器的承诺并在promise中返回该对象.这一切都运作良好.
但是,如果未找到匹配项,我只想通过拒绝承诺并运行来重定向到其他状态 $state.go('state');
这个:
deferred.reject();
$state.go('state',{params: 'param'});
Run Code Online (Sandbox Code Playgroud)
但这似乎没有做任何事情.控制器只是挂起,我没有控制台错误或任何东西.有任何想法吗?
这个问题适用于版本0.xx,版本1.xx中的许多内容已经改变
我的问题很简单,但我不知道如何让Hibernate以我想要的方式运行: - 表MainTable有很多2-One与ParentTable(有100行).MainTable指向ParentTable中100行中的m = 26行
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "PARENT_ID")
@Fetch(FetchMode.JOIN)
Run Code Online (Sandbox Code Playgroud)
当我简单地查询"来自MainTable"时
它将生成26 + 1个查询
当我跟踪查询时,第一个查询仅加载26个以后查询使用的PARENT_ID.我想它应该有在第一个查询中加载整个PARENT_TABLE的方法..
请假设:
我们正在升级到mysql 5.7,并发现它比它的5.6计数器部分慢得多.虽然两者具有几乎相同的配置,但5.6版本以毫秒为单位执行大部分sqls,而另一个对于中间复杂sql(例如下面的那个)大约需要1秒或更长时间.
-- Getting most recent users that are email-verified and not banned
SELECT
`u`.*
FROM
`user` AS `u`
INNER JOIN `user` user_table_alias ON user_table_alias.`id` = `u`.`id`
LEFT JOIN `user_suspend` user_suspend_table_alias ON user_suspend_table_alias.`userId` = `user_table_alias`.`id`
WHERE
(
`user_suspend_table_alias`.`id` IS NULL
)
AND
`user_table_alias`.`emailVerify` = 1
ORDER BY
`u`.`joinStamp` DESC
LIMIT 1, 18
Run Code Online (Sandbox Code Playgroud)
这两个表都很简单,索引很好:
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`email` varchar(128) NOT NULL …Run Code Online (Sandbox Code Playgroud) 他们网站http://amphp.org/faq上的文档对 我来说不是很清楚.事情让我感到困惑.它是否打算作为服务器运行?或以CLI身份运行?或者在web容器中运行(apache,nginx fpm)?并且php本质上是同步的,如果没有某种扩展(如pthread)的支持,它怎么可能是异步的.
编辑---
放大器的潜在应用:后台线程?在一个简单的用例中,用户提交订单,php可以随着时间来处理订单.所以我们想要使用线程(比如Java servlet一直这样做),而不是让用户等待.我们知道它可以用cron-job或者附加-ajax来完成,但它很难看,我们有很多这种异步要求
php ×2
amphp ×1
angularjs ×1
hibernate ×1
javascript ×1
lazy-loading ×1
mysql ×1
promise ×1
query-cache ×1
sql-server ×1
url-routing ×1