Example
var asyngleton = require('../'),
fs = require('fs');
var readDir = asyngleton(function(callback) {
fs.readdir(__dirname, callback);
})
readDir(function(err, files) {
})
readDir(function(err, files) {
});
API
asyngleton(factory)
Creates a new asyngleton function.
factory
- the factory method for creating the singleton. This is called ONCE.
.reset()
Resets the target asyngleton so the factory can be called again.
var fs = require('fs'),
asyngleton = require('asyngleton');
var readDir = asyngleton(function(callback) {
fs.readdir(__dirname, callback);
});
readDir(function(err, files) {
readDir.reset();
});
.dictionary()
creates a dictionary of singletons
var dict = require('asyngleton').dictionary(),
fs = require('fs');
var readThisDir = dict.get("readThisDir", function(onSingleton) {
fs.read(__dirname, onSingleton);
});
var readLibDir = dict.get("readLibDir", function(onSingleton) {
fs.read(__dirname + "/lib", onSingleton);
})
readThisDir(function(err, files) {
});
readLibDir(function(err, files) {
});
dictionary.get(name, factory)
name
- the name of the singleton in the dictionaryfactory
- the factory method incase the singleton doesn't exist
var structr = require("structr");
structr.mixin(require("asyngleton"));
var TestClass = structr({
"singleton load": function(onLoad) {
fs.readFile(__dirname + "/config.json", onLoad);
}
});
var test = new TestClass();
test.load(function(config) {
});
test.load(function(config) {
});