169 похожих чатов

Бля, чё за нахер? вот так работает (#1 мой вариант): open System.Threading.Tasks let

fTask (job: unit -> Task<'T>) = task {
if false then
failwith "error"

let! result = job()
return result
}

let fAsync (job: unit -> Async<'T>) = async {
if false then
return failwith "error"
let! result = job()
return result
}

// resultAsync
fun() -> async.Return("test")
|> fAsync
|> Async.RunSynchronously
|> printfn "%A"

// resultTask
fun() -> Task.FromResult("123")
|> fTask
|> Async.AwaitTask
|> Async.RunSynchronously
|> printfn "%A"


а вот так не работет (#2 вариант Rustam)
open System.Threading.Tasks

let fTask (job: unit -> Task<'T>) = task {
if false then
return failwith "error"

let! result = job()
return result
}

let fAsync (job: unit -> Async<'T>) = async {
if false then
return failwith "error"
let! result = job()
return result
}

let result = (fAsync (fun() -> async.Return("test"))) |> Async.RunSynchronously
printfn $"{result}"

let result = (fTask (fun() -> Task.FromResult("123"))).GetAwaiter().GetResult()
printfn $"{result}"

8 ответов

10 просмотров

Так, в первом варианте не fun() -> (async.Return("test") |> ...) ли?

dd- Автор вопроса
TOV_MULTIMASSO
Так, в первом варианте не fun() -> (async.Return("...

эта часть в обоих варинтах работает не работает вот эта часть у Rustam: let result = (fTask (fun() -> Task.FromResult("123"))).GetAwaiter().GetResult()

dd
эта часть в обоих варинтах работает не работает во...

fun() -> Task.FromResult("123") |> fTask Это точно одно и то же с fTask (fun() -> Task.FromResult("123")) ?

TOV_MULTIMASSO
fun() -> Task.FromResult("123") |> fTask Это точн...

Нет, и это влияет на инференс

dd- Автор вопроса
dd- Автор вопроса

я просто return в ифе забыл :) #1 https://sharplab.io/#v2:DYLgZgzgNALiBOBXAdlAJiA1AHwPYAcBTZAAgGUBPCGQgWwDoAVAC3kIEM0BLZAcyfYQA1hACwAKAnBCMEiTCNBQkgAoAVrgBGIEii6yAtAD4Si4QB4A5IyMBKEgF4SMJSQDeEuV65h57YBCEzszEnl7hJAD0kWwwiPCkYOxcwADu+swkAESE8PC48FlhEXJJKekwmTl5BVlRkSSA8iAkgPwggAIggHwggIIggEIgHSSx8aSA7CCADCCAjCCA0iCA3CAkILYSxXLSMACEA4QQiMCyThqaKgviEYMJG1s7EgC+i+IrpQCCEBTIAMaq+zp6hiZPL69WGz2JyCf7uJYkHx+AJBSqhY4lOSnRLJNIZbK5fKFCErdZsC67Ej7Q4Q5HnbYwa63aLknZ/N4SMAoQ4kYwkUFvegAJRkQxUWRo1CyR2wJjA9NeElFJAl3JQlDerFwyFwiAgwAoUpM+HgPBgYFIWQApA8ipJxDT8RSzEIJComcgWWybfQAGL5Wg8gn8gCMACYAMzCkVim1amXPTkPVLJGBh8TS2Vc+X/JUqtUa8M6vUG7ImrJAA=== #2 https://sharplab.io/#v2:DYLgZgzgNALiBOBXAdlAJiA1AHwPYAcBTZAAgGUBPCGQgWwDoAVAC3kIEM0BLZAcyfYQA1hACwAKAnBCMEiTCNBQkgAoAVrgBGIEii6yAtAD4Si4QB4A5IyMBKEgF4SMJSQDeEuV65h57YBCEzszEnl7hJAD0kWwwiPCkYOxcwADu+swkAESE8PC48FlhEXJJKekwmTl5BUWS4hHSMACEJGwQiMCyThqaKrbFcrHxpO2dMBIAvhJSMqUAghAUyADGqr06eoYmi8srVjb2ToJ77oMkPn4BQZWhDSVDMiN+5RnZufmF502tY12OJF6/XOwwSbUIHS6Uxm4iaj0hMF2qwBKjASLWqJQ/RIxhIJ1W9AASk8EiosjRqFlbNSSNgdksCYSUJRVqxcMhcIgIMAKBJ8PAeDAwKQACRZNx/REMlaTOqzWTghFmZROVHK1RgLH2XHK+gAMXytGJCLJAEYAEwAZip1PoAHEZPNUskaPB+vaZMbxsDxPzBcKSGKJRDxsrZUA

dd
я просто return в ифе забыл :) #1 https://sharplab...

Так с ретурн и без - разные кейсы

dd- Автор вопроса
Vlæd Zá
Так с ретурн и без - разные кейсы

не мой кейс (я бы без return делал - собственно, потому и проглядел его)

Похожие вопросы

Обсуждают сегодня

кому не сложно распишите пожалуйста для какой цели тут вот эти скобки и в них пихается указатель?
Михаил Helper
15
Обновленный chat тестили уже господа? Готовимся на заводы ? Простой проект на ларавель собирает за 1 ответ..
Jacov Borisov
11
Или мне дублировать структуру с информацией о следующем потоке в адресное пространство текущего потока?
One
9
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
в "главной форме" создаются "дочерние формы / копии главной" new_form := TForm1.Create(Application); new_form.blah_blah_blah обработчик, срабатывающий при изменении положени...
livontiy
6
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
Can anyone help me out here?
Ryzen
7
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Карта сайта