Elixir語言中 Task.completed
相關用法介紹如下。
用法:
completed(result)
(從 1.13.0 開始)
@spec completed(any()) :: t()
啟動一個使用給定 result
立即完成的任務。
與
不同,此任務不會產生鏈接進程。它可以像任何其他任務一樣被等待或屈服。async/1
用法
在某些情況下,創建一個"completed" 任務來表示已經運行並生成結果的任務很有用。例如,在處理數據時,您可能能夠在分派某些輸入進行進一步處理之前確定某些輸入是無效的:
def process(data) do
tasks =
for entry <- data do
if invalid_input?(entry) do
Task.completed({:error, :invalid_input})
else
Task.async(fn -> further_process(entry) end)
end
end
Task.await_many(tasks)
end
在許多情況下,可以避免使用
,而是直接返回結果。當一組輸入將部分同步和部分異步處理時,您通常應該隻在使用混合異步時才需要此變體。Task.completed/1
相關用法
- Elixir Task.yield_many用法及代碼示例
- Elixir Task.Supervisor.async_stream用法及代碼示例
- Elixir Task.async用法及代碼示例
- Elixir Task.await_many用法及代碼示例
- Elixir Task.Supervisor用法及代碼示例
- Elixir Task.Supervisor.start_child用法及代碼示例
- Elixir Task.yield用法及代碼示例
- Elixir Task.async_stream用法及代碼示例
- Elixir Task.Supervisor.async_nolink用法及代碼示例
- Elixir Task.Supervisor.start_link用法及代碼示例
- Elixir Task.await用法及代碼示例
- Elixir Task用法及代碼示例
- Elixir Time.add用法及代碼示例
- Elixir Time.new用法及代碼示例
- Elixir Tuple.duplicate用法及代碼示例
- Elixir Time.to_erl用法及代碼示例
- Elixir Tuple用法及代碼示例
- Elixir Time.utc_now用法及代碼示例
- Elixir Tuple.sum用法及代碼示例
- Elixir Time.to_iso8601用法及代碼示例
- Elixir Time.from_iso8601用法及代碼示例
- Elixir Time.from_erl!用法及代碼示例
- Elixir Time.from_seconds_after_midnight用法及代碼示例
- Elixir Tuple.product用法及代碼示例
- Elixir Time.truncate用法及代碼示例
注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Task.completed(result)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。