388 lines
22 KiB
HTML
388 lines
22 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<title>DispatchQueue Extension Reference</title>
|
|
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
|
|
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
|
|
<meta charset="utf-8">
|
|
<script src="../js/jquery.min.js" defer></script>
|
|
<script src="../js/jazzy.js" defer></script>
|
|
|
|
<script src="../js/lunr.min.js" defer></script>
|
|
<script src="../js/typeahead.jquery.js" defer></script>
|
|
<script src="../js/jazzy.search.js" defer></script>
|
|
</head>
|
|
<body>
|
|
|
|
<a name="//apple_ref/swift/Extension/DispatchQueue" class="dashAnchor"></a>
|
|
|
|
<a title="DispatchQueue Extension Reference"></a>
|
|
|
|
<header class="header">
|
|
<p class="header-col header-col--primary">
|
|
<a class="header-link" href="../index.html">
|
|
PromiseKit 6.13.3 Docs
|
|
</a>
|
|
(80% documented)
|
|
</p>
|
|
|
|
<p class="header-col--secondary">
|
|
<form role="search" action="../search.json">
|
|
<input type="text" placeholder="Search documentation" data-typeahead>
|
|
</form>
|
|
</p>
|
|
|
|
<p class="header-col header-col--secondary">
|
|
<a class="header-link" href="https://github.com/mxcl/PromiseKit">
|
|
<img class="header-icon" src="../img/gh.png"/>
|
|
View on GitHub
|
|
</a>
|
|
</p>
|
|
|
|
</header>
|
|
|
|
<p class="breadcrumbs">
|
|
<a class="breadcrumb" href="../index.html">PromiseKit Reference</a>
|
|
<img class="carat" src="../img/carat.png" />
|
|
DispatchQueue Extension Reference
|
|
</p>
|
|
|
|
<div class="content-wrapper">
|
|
<nav class="navigation">
|
|
<ul class="nav-groups">
|
|
<li class="nav-group-name">
|
|
<a class="nav-group-name-link" href="../Core%20Components.html">Core Components</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Classes/Promise.html">Promise</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Classes/Guarantee.html">Guarantee</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Protocols/Thenable.html">Thenable</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Protocols/CatchMixin.html">CatchMixin</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Classes/Resolver.html">Resolver</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group-name">
|
|
<a class="nav-group-name-link" href="../Other%20Classes.html">Other Classes</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Classes/PMKFinalizer.html">PMKFinalizer</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Classes/__AnyPromise.html">__AnyPromise</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group-name">
|
|
<a class="nav-group-name-link" href="../Other%20Global%20Variables.html">Other Global Variables</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Global%20Variables.html#/s:10PromiseKit4confAA16PMKConfigurationVvp">conf</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group-name">
|
|
<a class="nav-group-name-link" href="../Other%20Enums.html">Other Enumerations</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Enums/CatchPolicy.html">CatchPolicy</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Enums/LogEvent.html">LogEvent</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Enums/PMKError.html">PMKError</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Enums/PMKNamespacer.html">PMKNamespacer</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Enums/Result.html">Result</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group-name">
|
|
<a class="nav-group-name-link" href="../Other%20Extensions.html">Other Extensions</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Extensions/AnyPromise.html">AnyPromise</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Extensions/AnyPromise.html">AnyPromise</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Extensions/DispatchQueue.html">DispatchQueue</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Extensions/Error.html">Error</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Extensions.html#/PromiseKit">PromiseKit</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group-name">
|
|
<a class="nav-group-name-link" href="../Other%20Functions.html">Other Functions</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit5afteryAA9GuaranteeCyytG8Dispatch0E12TimeIntervalOF">after(_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit5after7secondsAA9GuaranteeCyytGSd_tF">after(seconds:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit7firstly7executeAA0A0Cy1TQzGxyKXE_tAA8ThenableRzlF">firstly(execute:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit7firstly7executeAA9GuaranteeCyxGAFyXE_tlF">firstly(execute:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4hangyxAA0A0CyxGKlF">hang(_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4raceyAA0A0Cy1TQzGSayxGAA8ThenableRzlF">race(_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4raceyAA0A0Cy1TQzGxd_tAA8ThenableRzlF">race(_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4raceyAA9GuaranteeCyxGAEd_tlF">race(_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4whenyAA9GuaranteeCyytGAEd_tF">when(_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4when9fulfilledAA0A0CySay1TQzGGSayxG_tAA8ThenableRzlF">when(fulfilled:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4when9fulfilledAA0A0CyytGSayxG_tAA8ThenableRzyt1TRtzlF">when(fulfilled:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4when9fulfilledAA0A0CyytGxd_tAA8ThenableRzyt1TRtzlF">when(fulfilled:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4when9fulfilled_AA0A0Cy1TQz_AFQy_tGx_q_tAA8ThenableRzAaJR_r0_lF">when(fulfilled:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4when9fulfilled__AA0A0Cy1TQz_AFQy_AFQy0_tGx_q_q0_tAA8ThenableRzAaKR_AaKR0_r1_lF">when(fulfilled:_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4when9fulfilled___AA0A0Cy1TQz_AFQy_AFQy0_AFQy1_tGx_q_q0_q1_tAA8ThenableRzAaLR_AaLR0_AaLR1_r2_lF">when(fulfilled:_:_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4when9fulfilled____AA0A0Cy1TQz_AFQy_AFQy0_AFQy1_AFQy2_tGx_q_q0_q1_q2_tAA8ThenableRzAaMR_AaMR0_AaMR1_AaMR2_r3_lF">when(fulfilled:_:_:_:_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4when9fulfilled12concurrentlyAA0A0CySay7Element_1TQZGGx_SitStRzAA8ThenableAGRpzlF">when(fulfilled:concurrently:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4when10guaranteesAA9GuaranteeCyytGSayAFG_tF">when(guarantees:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4when8resolvedAA9GuaranteeCySayAA6ResultOyxGGGAA0A0CyxGd_tlF">when(resolved:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4when8resolvedAA9GuaranteeCySayAA6ResultOyxGGGSayAA0A0CyxGG_tlF">when(resolved:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4wrapyAA0A0CyxGyys5Error_pSg_xSgtcKXElF">wrap(_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4wrapyAA0A0CyxGyyxSg_s5Error_pSgtcKXElF">wrap(_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4wrapyAA0A0CyxGyyx_s5Error_pSgtcKXElF">wrap(_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4wrapyAA0A0CyxGyyxcKXElF">wrap(_:)</a>
|
|
</li>
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Other%20Functions.html#/s:10PromiseKit4wrapyAA0A0CyytGyys5Error_pSgcKXEF">wrap(_:)</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group-name">
|
|
<a class="nav-group-name-link" href="../Other%20Protocols.html">Other Protocols</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Protocols/CancellableError.html">CancellableError</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-group-name">
|
|
<a class="nav-group-name-link" href="../Other%20Structs.html">Other Structures</a>
|
|
<ul class="nav-group-tasks">
|
|
<li class="nav-group-task">
|
|
<a class="nav-group-task-link" href="../Structs/PMKConfiguration.html">PMKConfiguration</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
<article class="main-content">
|
|
|
|
<section class="section">
|
|
<div class="section-content top-matter">
|
|
<h1>DispatchQueue</h1>
|
|
<div class="declaration">
|
|
<div class="language">
|
|
|
|
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">extension</span> <span class="kt">DispatchQueue</span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</section>
|
|
|
|
<section class="section">
|
|
<div class="section-content">
|
|
<div class="task-group">
|
|
<ul class="item-container">
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:So17OS_dispatch_queueC10PromiseKitE5async_5group3qos5flags7executeAC9GuaranteeCyxGAC13PMKNamespacerO_So0a1_b1_G0CSg8Dispatch0M3QoSVAQ0M13WorkItemFlagsVxyctlF"></a>
|
|
<a name="//apple_ref/swift/Method/async(_:group:qos:flags:execute:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:So17OS_dispatch_queueC10PromiseKitE5async_5group3qos5flags7executeAC9GuaranteeCyxGAC13PMKNamespacerO_So0a1_b1_G0CSg8Dispatch0M3QoSVAQ0M13WorkItemFlagsVxyctlF">async(_:<wbr>group:<wbr>qos:<wbr>flags:<wbr>execute:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Asynchronously executes the provided closure on a dispatch queue.</p>
|
|
<pre class="highlight swift"><code><span class="kt">DispatchQueue</span><span class="o">.</span><span class="nf">global</span><span class="p">()</span><span class="o">.</span><span class="nf">async</span><span class="p">(</span><span class="o">.</span><span class="n">promise</span><span class="p">)</span> <span class="p">{</span>
|
|
<span class="nf">md5</span><span class="p">(</span><span class="n">input</span><span class="p">)</span>
|
|
<span class="p">}</span><span class="o">.</span><span class="n">done</span> <span class="p">{</span> <span class="n">md5</span> <span class="k">in</span>
|
|
<span class="c1">//…</span>
|
|
<span class="p">}</span>
|
|
</code></pre>
|
|
<div class="aside aside-note">
|
|
<p class="aside-title">Note</p>
|
|
There is no Promise/Thenable version of this due to Swift compiler ambiguity issues.
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">@available(OSX 10.10, iOS 2.0, tvOS 10.0, watchOS 2.0, *)</span>
|
|
<span class="kd">final</span> <span class="kd">func</span> <span class="n">async</span><span class="o"><</span><span class="kt">T</span><span class="o">></span><span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="kt"><a href="../Enums/PMKNamespacer.html">PMKNamespacer</a></span><span class="p">,</span> <span class="nv">group</span><span class="p">:</span> <span class="kt">DispatchGroup</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">qos</span><span class="p">:</span> <span class="kt">DispatchQoS</span> <span class="o">=</span> <span class="o">.</span><span class="k">default</span><span class="p">,</span> <span class="nv">flags</span><span class="p">:</span> <span class="kt">DispatchWorkItemFlags</span> <span class="o">=</span> <span class="p">[],</span> <span class="n">execute</span> <span class="nv">body</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-></span> <span class="kt">T</span><span class="p">)</span> <span class="o">-></span> <span class="kt"><a href="../Classes/Guarantee.html">Guarantee</a></span><span class="o"><</span><span class="kt">T</span><span class="o">></span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>body</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The closure that resolves this promise.</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>A new <code><a href="../Classes/Guarantee.html">Guarantee</a></code> resolved by the result of the provided closure.</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
<li class="item">
|
|
<div>
|
|
<code>
|
|
<a name="/s:So17OS_dispatch_queueC10PromiseKitE5async_5group3qos5flags7executeAC0D0CyxGAC13PMKNamespacerO_So0a1_b1_G0CSg8Dispatch0L3QoSVAQ0L13WorkItemFlagsVxyKctlF"></a>
|
|
<a name="//apple_ref/swift/Method/async(_:group:qos:flags:execute:)" class="dashAnchor"></a>
|
|
<a class="token" href="#/s:So17OS_dispatch_queueC10PromiseKitE5async_5group3qos5flags7executeAC0D0CyxGAC13PMKNamespacerO_So0a1_b1_G0CSg8Dispatch0L3QoSVAQ0L13WorkItemFlagsVxyKctlF">async(_:<wbr>group:<wbr>qos:<wbr>flags:<wbr>execute:<wbr>)</a>
|
|
</code>
|
|
</div>
|
|
<div class="height-container">
|
|
<div class="pointer-container"></div>
|
|
<section class="section">
|
|
<div class="pointer"></div>
|
|
<div class="abstract">
|
|
<p>Asynchronously executes the provided closure on a dispatch queue.</p>
|
|
<pre class="highlight swift"><code><span class="kt">DispatchQueue</span><span class="o">.</span><span class="nf">global</span><span class="p">()</span><span class="o">.</span><span class="nf">async</span><span class="p">(</span><span class="o">.</span><span class="n">promise</span><span class="p">)</span> <span class="p">{</span>
|
|
<span class="k">try</span> <span class="nf">md5</span><span class="p">(</span><span class="n">input</span><span class="p">)</span>
|
|
<span class="p">}</span><span class="o">.</span><span class="n">done</span> <span class="p">{</span> <span class="n">md5</span> <span class="k">in</span>
|
|
<span class="c1">//…</span>
|
|
<span class="p">}</span>
|
|
</code></pre>
|
|
<div class="aside aside-note">
|
|
<p class="aside-title">Note</p>
|
|
There is no Promise/Thenable version of this due to Swift compiler ambiguity issues.
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="declaration">
|
|
<h4>Declaration</h4>
|
|
<div class="language">
|
|
<p class="aside-title">Swift</p>
|
|
<pre class="highlight swift"><code><span class="kd">@available(OSX 10.10, iOS 8.0, tvOS 9.0, watchOS 2.0, *)</span>
|
|
<span class="kd">final</span> <span class="kd">func</span> <span class="n">async</span><span class="o"><</span><span class="kt">T</span><span class="o">></span><span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="kt"><a href="../Enums/PMKNamespacer.html">PMKNamespacer</a></span><span class="p">,</span> <span class="nv">group</span><span class="p">:</span> <span class="kt">DispatchGroup</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">qos</span><span class="p">:</span> <span class="kt">DispatchQoS</span> <span class="o">=</span> <span class="o">.</span><span class="k">default</span><span class="p">,</span> <span class="nv">flags</span><span class="p">:</span> <span class="kt">DispatchWorkItemFlags</span> <span class="o">=</span> <span class="p">[],</span> <span class="n">execute</span> <span class="nv">body</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="k">throws</span> <span class="o">-></span> <span class="kt">T</span><span class="p">)</span> <span class="o">-></span> <span class="kt"><a href="../Classes/Promise.html">Promise</a></span><span class="o"><</span><span class="kt">T</span><span class="o">></span></code></pre>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h4>Parameters</h4>
|
|
<table class="graybox">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code>
|
|
<em>body</em>
|
|
</code>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<p>The closure that resolves this promise.</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
<h4>Return Value</h4>
|
|
<p>A new <code><a href="../Classes/Promise.html">Promise</a></code> resolved by the result of the provided closure.</p>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
</article>
|
|
</div>
|
|
<section class="footer">
|
|
<p>© 2020 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2020-08-31)</p>
|
|
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
|
|
</section>
|
|
</body>
|
|
</div>
|
|
</html>
|