A slice of time in an application. Provides hooks to allow functions to be executed before, during and after, the defined slice.
var Phase = require('loopback-phase').Phase;
var myPhase = new Phase('my-phase');
Name | Type | Description |
---|---|---|
id |
String
|
The name or identifier of the |
Name | Type | Description |
---|---|---|
next |
Phase
|
The |
id |
String
|
The name or identifier of the |
Register a phase handler to be executed after the phase completes.
See register()
for an example.
Name | Type | Description |
---|---|---|
handler |
Function
|
Register a phase handler to be executed before the phase begins.
See register()
for an example.
Name | Type | Description |
---|---|---|
handler |
Function
|
Begin the execution of a phase and its handlers. Provide a context object to be passed as the first argument for each handler function.
Name | Type | Description |
---|---|---|
[context] |
Object
|
The scope applied to each handler function. |
callback |
Function
|
Name | Type | Description |
---|---|---|
err |
Error
|
Any |
Return the Phase
as a string.
Register a phase handler. The handler will be executed
once the phase is launched. Handlers will be executed
in parralel and must callback once complete. If the
handler calls back with an error, the phase will immediately
hault execution and call the callback provided to
phase.run(callback)
.
Example
phase.use(function(ctx, next) {
// specify an error if one occurred...
var err = null;
console.log(ctx.message, 'world!'); // => hello world
next(err);
});
phase.run({message: 'hello'}, function(err) {
if(err) return console.error('phase has errored', err);
console.log('phase has finished');
});
An ordered list of phases.
var PhaseList = require('loopback-phase').PhaseList;
var phases = new PhaseList();
phases.add('my-phase');
Add one or more phases to the list.
Name | Type | Description |
---|---|---|
phase |
Phase or String or Array.<String>
|
The phase (or phases) to be added. |
Name | Type | Description |
---|---|---|
result |
Phase or Array.<Phase>
|
The added phase or phases. |
Find a Phase
from the list.
Name | Type | Description |
---|---|---|
id |
String
|
The phase identifier |
Name | Type | Description |
---|---|---|
result |
Phase
|
The |
Find or add a Phase
from/into the list.
Name | Type | Description |
---|---|---|
id |
String
|
The phase identifier |
Name | Type | Description |
---|---|---|
result |
Phase
|
The |
Get the first Phase
in the list.
Name | Type | Description |
---|---|---|
result |
Phase
|
The first phase. |
Get an array of phase identifiers.
Name | Type | Description |
---|---|---|
result |
Array.<String>
|
phaseNames |
Get the last Phase
in the list.
Name | Type | Description |
---|---|---|
result |
Phase
|
The last phase. |
Remove a Phase
from the list.
Name | Type | Description |
---|---|---|
phase |
Phase or String
|
The phase to be removed. |
Name | Type | Description |
---|---|---|
result |
Phase
|
The removed phase. |
Launch the phases contained in the list. If there are no phases
in the list process.nextTick
is called with the provided callback.
Name | Type | Description |
---|---|---|
[context] |
Object
|
The context of each |
cb |
Function
|
Name | Type | Description |
---|---|---|
err |
Error
|
Any error that occured during a phase contained in the list. |
Get the list of phases as an array of Phase
objects.
Name | Type | Description |
---|---|---|
result |
Array.<Phase>
|
An array of phases. |