I
Size: a a a
I
I
I
VK
let mutable enumerator = ( ^Enumerable : (member GetEnumerator : unit -> ^Enumerator) enumerable)I
let mutable enumerator = ( ^Enumerable : (member GetEnumerator : unit -> ^Enumerator) enumerable)AH
AH
VK
VS
I
VK
I
I
I
I
I
I
ЕБ
let getValue key =вопроса два
async {
let value = getCacheValue key
match value with
| Some v -> return Some v
| None ->
let! newValue = fetchValue key
match newValue with
| None -> return None
| Some nv ->
setCacheValue key nv |> ignore
return Some nv
}
AK
let getValue key =вопроса два
async {
let value = getCacheValue key
match value with
| Some v -> return Some v
| None ->
let! newValue = fetchValue key
match newValue with
| None -> return None
| Some nv ->
setCacheValue key nv |> ignore
return Some nv
}
getCacheValue key
|> Option.orElseWith ( fun _ ->
async {
let! newValue = fetchValue key
newValue |> Option.iter (setCacheValue key)
return newValue
} |> Async.RunSynchronously
)