我正在尝试为我的反应应用程序编写路由器组件.我正在创建新的react类并在componentDidMount方法中定义一些路由.这是完整的方法
componentDidMount: function () {
var me = this;
router.get('/', function(req){
me.setState({
component: <MainPage />
});
});
router.get('/realty', function(req){
me.setState({
component: <RealtyPage />
});
});
router.get('/realty/:id', function(req){
me.setState({
component: <RealtyPage id={req.params.id} />
});
});
},
Run Code Online (Sandbox Code Playgroud)
当我去'/'或'/ realty'时,一切正常.但是,当我去'realty/new'时,我得到错误Uncaught SyntaxError:意外的令牌<在app.js:1中.但Chrome调试器在我的index.html中显示该错误,我甚至无法在浏览器中调试此错误.每当我使用'/'前往路线时,就会发生此错误.我试图使用其他客户端路由器,如page.js,rlite,grapnel,但都仍然相同.也许有人对这个错误有任何想法?
UPD:这是路由器组件的fuul代码.现在它使用page.js路由,我看到同样的错误
var React = require('react');
var page = require('page');
var MainPage = require('../components/MainPage');
var RealtyPage = require('../components/RealtyPage');
var Router = React.createClass({
getInitialState: function(){
return {
component: <RealtyPage />
}
},
componentDidMount: function () {
var me = this;
page('/', function (ctx) { …
Run Code Online (Sandbox Code Playgroud) 我有一个非常简单的查询,其中SQL
可以表示如下:
SELECT
c.id,
count(cp.product_id)
FROM cart c LEFT OUTER JOIN cart_product cp ON c.id = cp.cart_id
WHERE c.id = 3
GROUP BY c.id;
Run Code Online (Sandbox Code Playgroud)
当Slick DSL
用于表示上述查询时,我非常惊讶,该查询生成如下DSL
:
Cart.joinLeft(CartProduct)
.on { case (c, cp) => c.id === cp.cartId }
.filter { case (c, cp) => c.id === 3 }
.groupBy { case (c, cp) => c.id }
.map { case (c, pr) => (c, pr.length)
}
Run Code Online (Sandbox Code Playgroud)
看起来如下:
SELECT
x2.x3,
count(1)
FROM (SELECT
x4.x5 AS x3,
x4.x6 AS …
Run Code Online (Sandbox Code Playgroud) 可以在开发模式(通过run
),生产模式(通过start
)或测试模式下启动播放.有没有办法提供不同的配置文件(conf/application.conf
)取决于它在哪个模式启动?
根据rust doc,字符串切片是:
这个字符串是静态分配的,这意味着它保存在我们编译的程序中,并且在它运行的整个持续时间内都存在.
矢量切片怎么样?这些字节码是硬编码的值吗?
Rust doc没有正确解释什么是矢量切片:
与&str类似,切片是对另一个数组的引用.我们可以使用as_slice()方法从向量中获取切片:
let vec = vec![1i, 2i, 3i];
let slice = vec.as_slice();
Run Code Online (Sandbox Code Playgroud) 我有一个用 akka-http 编写的 REST 服务,它公开了/fire端点。当调用该端点时,我的服务应该向其他服务发送一个文件(通常约为 50MB)。但是/fire端点应该立即返回给调用者,并以“即发即忘”的方式继续异步发送文件。
我的实现看起来像这样
path("fire") {
post { request: FireRequest =>
complete {
sendFile(request.path)
StatusCodes.OK
}
}
}
}
def sendFile(path: String): Future[Unit] = Future {
// send the large file to another service
}
Run Code Online (Sandbox Code Playgroud)
我测试了一下,效果很好。
然而,当使用 ASP.NET 实现类似的行为时,我需要使用第三方框架 (Hangfire) 来处理异步任务,因为完成的请求生成的线程最终会被终止。
我的问题是:在我的 akka-http 中,sendFile保证运行直到成功/失败完成,或者在某些情况下它运行的线程将被杀死?
我有一个由多个连接/左连接组成的复杂 sql 查询,其结果类型如下所示:
val query = sql"""
// body of query
""".as[(Long, String, String, Int, Long, Long, String, Int, Option[Int], Option[Int], Option[String], Option[Timestamp], Option[Timestamp])]
Run Code Online (Sandbox Code Playgroud)
运行此查询的结果是具有 10 多个属性的元组列表。处理该列表以生成案例类:
db.run(query).map(_.groupBy { case (p1, p2, p3, p4, _, _, _, _, _, _, _, _, _) =>
(p1, p2, p3, p4)
}.map { case ((o1, co2, o3, o4), o5) =>
CaseClass1(o1, co2, o3, Seq(o4), o5.groupBy {
case (_, _, _, _, u1, _, _, _, _, _, _, _, _) => u1
}.map …
Run Code Online (Sandbox Code Playgroud)