1<?php 2 3namespace GuzzleHttp\Promise; 4 5/** 6 * Get the global task queue used for promise resolution. 7 * 8 * This task queue MUST be run in an event loop in order for promises to be 9 * settled asynchronously. It will be automatically run when synchronously 10 * waiting on a promise. 11 * 12 * <code> 13 * while ($eventLoop->isRunning()) { 14 * GuzzleHttp\Promise\queue()->run(); 15 * } 16 * </code> 17 * 18 * @param TaskQueueInterface $assign Optionally specify a new queue instance. 19 * 20 * @return TaskQueueInterface 21 * 22 * @deprecated queue will be removed in guzzlehttp/promises:2.0. Use Utils::queue instead. 23 */ 24function queue(TaskQueueInterface $assign = null) 25{ 26 return Utils::queue($assign); 27} 28 29/** 30 * Adds a function to run in the task queue when it is next `run()` and returns 31 * a promise that is fulfilled or rejected with the result. 32 * 33 * @param callable $task Task function to run. 34 * 35 * @return PromiseInterface 36 * 37 * @deprecated task will be removed in guzzlehttp/promises:2.0. Use Utils::task instead. 38 */ 39function task(callable $task) 40{ 41 return Utils::task($task); 42} 43 44/** 45 * Creates a promise for a value if the value is not a promise. 46 * 47 * @param mixed $value Promise or value. 48 * 49 * @return PromiseInterface 50 * 51 * @deprecated promise_for will be removed in guzzlehttp/promises:2.0. Use Create::promiseFor instead. 52 */ 53function promise_for($value) 54{ 55 return Create::promiseFor($value); 56} 57 58/** 59 * Creates a rejected promise for a reason if the reason is not a promise. If 60 * the provided reason is a promise, then it is returned as-is. 61 * 62 * @param mixed $reason Promise or reason. 63 * 64 * @return PromiseInterface 65 * 66 * @deprecated rejection_for will be removed in guzzlehttp/promises:2.0. Use Create::rejectionFor instead. 67 */ 68function rejection_for($reason) 69{ 70 return Create::rejectionFor($reason); 71} 72 73/** 74 * Create an exception for a rejected promise value. 75 * 76 * @param mixed $reason 77 * 78 * @return \Exception|\Throwable 79 * 80 * @deprecated exception_for will be removed in guzzlehttp/promises:2.0. Use Create::exceptionFor instead. 81 */ 82function exception_for($reason) 83{ 84 return Create::exceptionFor($reason); 85} 86 87/** 88 * Returns an iterator for the given value. 89 * 90 * @param mixed $value 91 * 92 * @return \Iterator 93 * 94 * @deprecated iter_for will be removed in guzzlehttp/promises:2.0. Use Create::iterFor instead. 95 */ 96function iter_for($value) 97{ 98 return Create::iterFor($value); 99} 100 101/** 102 * Synchronously waits on a promise to resolve and returns an inspection state 103 * array. 104 * 105 * Returns a state associative array containing a "state" key mapping to a 106 * valid promise state. If the state of the promise is "fulfilled", the array 107 * will contain a "value" key mapping to the fulfilled value of the promise. If 108 * the promise is rejected, the array will contain a "reason" key mapping to 109 * the rejection reason of the promise. 110 * 111 * @param PromiseInterface $promise Promise or value. 112 * 113 * @return array 114 * 115 * @deprecated inspect will be removed in guzzlehttp/promises:2.0. Use Utils::inspect instead. 116 */ 117function inspect(PromiseInterface $promise) 118{ 119 return Utils::inspect($promise); 120} 121 122/** 123 * Waits on all of the provided promises, but does not unwrap rejected promises 124 * as thrown exception. 125 * 126 * Returns an array of inspection state arrays. 127 * 128 * @see inspect for the inspection state array format. 129 * 130 * @param PromiseInterface[] $promises Traversable of promises to wait upon. 131 * 132 * @return array 133 * 134 * @deprecated inspect will be removed in guzzlehttp/promises:2.0. Use Utils::inspectAll instead. 135 */ 136function inspect_all($promises) 137{ 138 return Utils::inspectAll($promises); 139} 140 141/** 142 * Waits on all of the provided promises and returns the fulfilled values. 143 * 144 * Returns an array that contains the value of each promise (in the same order 145 * the promises were provided). An exception is thrown if any of the promises 146 * are rejected. 147 * 148 * @param iterable<PromiseInterface> $promises Iterable of PromiseInterface objects to wait on. 149 * 150 * @return array 151 * 152 * @throws \Exception on error 153 * @throws \Throwable on error in PHP >=7 154 * 155 * @deprecated unwrap will be removed in guzzlehttp/promises:2.0. Use Utils::unwrap instead. 156 */ 157function unwrap($promises) 158{ 159 return Utils::unwrap($promises); 160} 161 162/** 163 * Given an array of promises, return a promise that is fulfilled when all the 164 * items in the array are fulfilled. 165 * 166 * The promise's fulfillment value is an array with fulfillment values at 167 * respective positions to the original array. If any promise in the array 168 * rejects, the returned promise is rejected with the rejection reason. 169 * 170 * @param mixed $promises Promises or values. 171 * @param bool $recursive If true, resolves new promises that might have been added to the stack during its own resolution. 172 * 173 * @return PromiseInterface 174 * 175 * @deprecated all will be removed in guzzlehttp/promises:2.0. Use Utils::all instead. 176 */ 177function all($promises, $recursive = false) 178{ 179 return Utils::all($promises, $recursive); 180} 181 182/** 183 * Initiate a competitive race between multiple promises or values (values will 184 * become immediately fulfilled promises). 185 * 186 * When count amount of promises have been fulfilled, the returned promise is 187 * fulfilled with an array that contains the fulfillment values of the winners 188 * in order of resolution. 189 * 190 * This promise is rejected with a {@see AggregateException} if the number of 191 * fulfilled promises is less than the desired $count. 192 * 193 * @param int $count Total number of promises. 194 * @param mixed $promises Promises or values. 195 * 196 * @return PromiseInterface 197 * 198 * @deprecated some will be removed in guzzlehttp/promises:2.0. Use Utils::some instead. 199 */ 200function some($count, $promises) 201{ 202 return Utils::some($count, $promises); 203} 204 205/** 206 * Like some(), with 1 as count. However, if the promise fulfills, the 207 * fulfillment value is not an array of 1 but the value directly. 208 * 209 * @param mixed $promises Promises or values. 210 * 211 * @return PromiseInterface 212 * 213 * @deprecated any will be removed in guzzlehttp/promises:2.0. Use Utils::any instead. 214 */ 215function any($promises) 216{ 217 return Utils::any($promises); 218} 219 220/** 221 * Returns a promise that is fulfilled when all of the provided promises have 222 * been fulfilled or rejected. 223 * 224 * The returned promise is fulfilled with an array of inspection state arrays. 225 * 226 * @see inspect for the inspection state array format. 227 * 228 * @param mixed $promises Promises or values. 229 * 230 * @return PromiseInterface 231 * 232 * @deprecated settle will be removed in guzzlehttp/promises:2.0. Use Utils::settle instead. 233 */ 234function settle($promises) 235{ 236 return Utils::settle($promises); 237} 238 239/** 240 * Given an iterator that yields promises or values, returns a promise that is 241 * fulfilled with a null value when the iterator has been consumed or the 242 * aggregate promise has been fulfilled or rejected. 243 * 244 * $onFulfilled is a function that accepts the fulfilled value, iterator index, 245 * and the aggregate promise. The callback can invoke any necessary side 246 * effects and choose to resolve or reject the aggregate if needed. 247 * 248 * $onRejected is a function that accepts the rejection reason, iterator index, 249 * and the aggregate promise. The callback can invoke any necessary side 250 * effects and choose to resolve or reject the aggregate if needed. 251 * 252 * @param mixed $iterable Iterator or array to iterate over. 253 * @param callable $onFulfilled 254 * @param callable $onRejected 255 * 256 * @return PromiseInterface 257 * 258 * @deprecated each will be removed in guzzlehttp/promises:2.0. Use Each::of instead. 259 */ 260function each( 261 $iterable, 262 callable $onFulfilled = null, 263 callable $onRejected = null 264) { 265 return Each::of($iterable, $onFulfilled, $onRejected); 266} 267 268/** 269 * Like each, but only allows a certain number of outstanding promises at any 270 * given time. 271 * 272 * $concurrency may be an integer or a function that accepts the number of 273 * pending promises and returns a numeric concurrency limit value to allow for 274 * dynamic a concurrency size. 275 * 276 * @param mixed $iterable 277 * @param int|callable $concurrency 278 * @param callable $onFulfilled 279 * @param callable $onRejected 280 * 281 * @return PromiseInterface 282 * 283 * @deprecated each_limit will be removed in guzzlehttp/promises:2.0. Use Each::ofLimit instead. 284 */ 285function each_limit( 286 $iterable, 287 $concurrency, 288 callable $onFulfilled = null, 289 callable $onRejected = null 290) { 291 return Each::ofLimit($iterable, $concurrency, $onFulfilled, $onRejected); 292} 293 294/** 295 * Like each_limit, but ensures that no promise in the given $iterable argument 296 * is rejected. If any promise is rejected, then the aggregate promise is 297 * rejected with the encountered rejection. 298 * 299 * @param mixed $iterable 300 * @param int|callable $concurrency 301 * @param callable $onFulfilled 302 * 303 * @return PromiseInterface 304 * 305 * @deprecated each_limit_all will be removed in guzzlehttp/promises:2.0. Use Each::ofLimitAll instead. 306 */ 307function each_limit_all( 308 $iterable, 309 $concurrency, 310 callable $onFulfilled = null 311) { 312 return Each::ofLimitAll($iterable, $concurrency, $onFulfilled); 313} 314 315/** 316 * Returns true if a promise is fulfilled. 317 * 318 * @return bool 319 * 320 * @deprecated is_fulfilled will be removed in guzzlehttp/promises:2.0. Use Is::fulfilled instead. 321 */ 322function is_fulfilled(PromiseInterface $promise) 323{ 324 return Is::fulfilled($promise); 325} 326 327/** 328 * Returns true if a promise is rejected. 329 * 330 * @return bool 331 * 332 * @deprecated is_rejected will be removed in guzzlehttp/promises:2.0. Use Is::rejected instead. 333 */ 334function is_rejected(PromiseInterface $promise) 335{ 336 return Is::rejected($promise); 337} 338 339/** 340 * Returns true if a promise is fulfilled or rejected. 341 * 342 * @return bool 343 * 344 * @deprecated is_settled will be removed in guzzlehttp/promises:2.0. Use Is::settled instead. 345 */ 346function is_settled(PromiseInterface $promise) 347{ 348 return Is::settled($promise); 349} 350 351/** 352 * Create a new coroutine. 353 * 354 * @see Coroutine 355 * 356 * @return PromiseInterface 357 * 358 * @deprecated coroutine will be removed in guzzlehttp/promises:2.0. Use Coroutine::of instead. 359 */ 360function coroutine(callable $generatorFn) 361{ 362 return Coroutine::of($generatorFn); 363} 364