所以这个欧巴的事情正在兴起。
我开始这样的服务器:
function resource request_dispatch(Uri.relative p_url,
p_log_fun) {
//type Uri.relative = {list(string) path, list((string,string)) query }
match (p_url) {
case {path: [] ... } : get_standard_page(p_log_fun);
case {path: ["_rest_" | path] ...}: api_request_handler(path,p_log_fun);
case {~path ...} : Resource.page("Regular",<div>standard page</div>);
}
}
function start_server(p_log_fun) {
function resource dispatch_handler_fun(Uri.relative p_url) {
request_dispatch(p_url,p_log_fun)
}
Server.start(Server.http,
{ title : "Hello, world",
dispatch:dispatch_handler_fun})
}
但是我得到:
错误:文件“src/posts_viewer.opa”,第 71 行,字符 3-150,(71:3-74:42 | 2466-2613)
类型冲突
(72:10-74:41) {dispatch: (Uri.relative -> 资源);title: string } /
'ca
(71:3-71:8) Server.handler
函数的第二个参数应该是
{ dispatch: (Uri.relative -> resource); title: string } / 'ca
代替
Server.handler
所以它的 dispatch_handler_fun 显然不是正确的类型签名。在 API 文档中,我可以在变体http://doc.opalang.org/type/stdlib.core.web.server/Server/handler中看到 Server.handler
任何人都清楚为什么 dispatch_handler_fun 在这里不合适吗?
附言。抱歉代码格式不好:)
谢谢你