Please note: This library is included with other Azure SDK libraries that need it. It should not be used as a direct dependency in your projects.
@azure/core-lro is made following our Long Running Operations guidelines
Install the package
To install this library for a project under the
azure-sdk-for-js, make sure you are at the root of that project, then use Rush as follows:
rush add -p @azure/core-lro
To install this package outside of the
npm install --save @azure/core-lro.
TypeScript users need to have Node type definitions installed:
npm install @types/node
They will also need to enable
compilerOptions.allowSyntheticDefaultImports in their
tsconfig.json. Note that if you have enabled
allowSyntheticDefaultImports is enabled by default.
See TypeScript's compiler options handbook
for more information.
@azure/core-lro makes a distinction between the Long Running Operation and its Poller.
- Whenever we talk about an operation, we mean the static representation of a Long Running Operation. Any operation will have a definition of a state, which has an opinionated default set of properties. The definition of the operation will also have functions that will define how to request new information about the pending operation, how to request its cancellation, and how to serialize it.
- A Poller is an object who's main function is to interact with an operation until the poller is manually stopped,
the operation finishes (either by succeeding or failing) or if a manual request to cancel the operation has succeeded.
Some characteristics of the pollers are:
- Pollers show the status of the polling behavior.
- Pollers support manual as well as automatic polling.
- Pollers are serializable and can resume from a serialized operation.
- Pollers also specify how much of the operation's state is going to be available to the public.
- A PollerLike is the public interface of a Poller, which allows for different implementations to be used.
You will be able to find some working examples of an implementation of an operation and a poller in:
Please take a look at the samples directory for detailed examples on how to use this library.
If you'd like to contribute to this library, please read the contributing guide to learn more about how to build and test the code.
To run our tests, first install the dependencies (with
npm install or
then run the unit tests with:
npm run unit-test.