Skip to content
This repository has been archived by the owner on Jun 13, 2024. It is now read-only.

Files

Latest commit

 

History

History

synchronized-loading

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Synchronized loading

This example implements a shared phone book component. The component will not load data until the first lookup request happens. When it starts to load data, it ensures the loading will run only once.

The component is implemented using lazy-loading pattern with the use of napa.sync.Lock.

How to run

  1. Go to directory of examples/tutorial/synchronized-loading
  2. Run npm install to install napajs
  3. Run node synchronized-loading.js

Program output

The output below shows one possible result. The sequence of the output may be different but the data loading will always run once only.

[lookupPhoneNumber] Start to lookup phone number of david.
[lookupPhoneNumber] Start to lookup phone number of wade.
[load_data] loading...
[lookupPhoneNumber] Start to lookup phone number of lisa.
[lookupPhoneNumber] wade : <not found>.
[lookupPhoneNumber] lisa : 567-888-9999.
[lookupPhoneNumber] david : 123-444-5555.
[run] All operations are completed.