Я пытаюсь изучить F #, но я продолжаю сталкиваться с проблемами. В последнем случае используется async. В приведенном ниже коде я пытаюсь запустить две длительные операции и выполнить вычисление на основе результата, но я получаю сообщение об ошибке «Async не поддерживает оператор +». Я попробовал кастинг и т. Д., Чтобы заставить его работать, но я никуда не гожусь.F # Использование возвращаемых значений от Async
Не могли бы вы объяснить, где я ошибаюсь.
Спасибо.
let SumOfOpFaults =
async{
printfn "Getting Sum of Op Faults"
return query {
for a in AlarmResult do
sumBy a.UserFaultTime
}
}
let SumOfMcFaults =
async{
printfn "Getting Sum of Machine Faults"
return query {
for a in AlarmResult do
sumBy a.MachineFaultTime
}
}
[SumOfMcFaults; SumOfOpFaults]
|> Async.Parallel
|> Async.RunSynchronously
|> ignore
let total = SumOfOpFaults + SumOfMcFaults // <---Error Here
Почему вы игнорируете результат 'Async.RunSynchronously'? Эта функция вернет вам два параллельных результата в массиве, тогда вы просто добавите элементы вместе нормально ... – TheInnerLight
Привет - абсолютный честный ответ заключается в том, что я не знаю, что я делаю, я все еще изучаю F #. Используя ваши комментарии, я смог отсортировать его так, спасибо - я ценю время. Если бы вы могли опубликовать его в качестве ответа, я могу согласиться. – Chico