# Future

```ts
interface Future<T> extends Operation<T>, Promise<T>
```

A value that is both an [Operation](https://frontside.com/effection/api/v4/Operation.md) _and_ `Promise`.

Futures are operations that are implicitly associated with an Effection scope
and so they can be freely `await`ed within any async functions. However, they
can also be evaluated directly within another operation, so among other
things, if the operation resolves synchronously, it will continue within the
same tick of the run loop.

### Examples
#### Example 1
```ts
let task = run(function* () {
  return 42;
});

// in an effection scope
let valueFromYield = yield* task;
// in an async function
let valueFromAwait = await task;
```
---


### Type Parameters
T

[View code](https://github.com/thefrontside/effection/tree/effection-v4.2.0/lib/types.ts#L70)
