You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

F#中如何在同一行获取JSON元素的String值

F# 异步管道合并实现方案

可以通过Async.map组合管道实现单行编写,无需声明独立中间变量。

正确写法

let! JSonElementString = row.EvalOnSelectorAsync("div.moneyout","node => node.innerText") |> Async.AwaitTask |> Async.map (fun js -> js.Value.GetString())

实现原理

  • Async.AwaitTask返回的是Async<JsonElement>类型,属于未展开的异步包装值,无法直接对其调用.Value等实例方法
  • Async.map可以接收操作异步内部值的函数,将函数提升到异步上下文执行,执行后返回的依然是Async<string>类型,刚好适配let!的绑定要求,不需要额外声明中间变量存储异步执行结果。

如果需要处理空值风险,可在lambda内补充空判断逻辑,同样可以整合到同一行管道中。


内容的提问来源于stack exchange,提问作者Martin Thompson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 17:48:09