首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义动态响应与Suave?

自定义动态响应与Suave?
EN

Stack Overflow用户
提问于 2018-12-31 20:34:03
回答 1查看 44关注 0票数 1

我想用Suave做一个简单的计数器。

代码语言:javascript
复制
[<EntryPoint>]
let main argv =

  let mutable counter = 0;

  let app =
    choose
      [
        GET
        >=> choose
          [
            path "/" >=> OK "Hello, world. ";
            path "/count" >=> OK (string counter)
          ]
        POST
        >=> choose
          [
            path "/increment"
            >=> (fun context -> async {
              counter <- counter + 1
              return Some context
            })
          ]
      ]

  startWebServer defaultConfig app
  0

然而,在我目前的解决方案中,/count的计数从不更新。

我认为这是因为WebPart是在应用程序启动时计算的,而不是为每个请求计算的。

在Suave中实现这一点的最佳方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-31 21:20:08

你的假设是正确的,Webparts是值,所以只计算一次。(参见this)。

你需要使用闭包来获得你想要的东西:

代码语言:javascript
复制
path "/count" >=> (fun ctx ->
    async {
        let c = counter in return! OK (string c) ctx
    })
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53987587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档