async-fetch-helper v2.13.2
Async Fetch Helper 2.13.2
AsyncFetchHelper is wrapper for async that using unirest or soap to fetch data with less code.
Install
$ npm install async-fetch-helper --save
Usage
var AsyncFetchHelper = require('async-fetch-helper');
var initSettings = {};
var asyncFetchHelper = new AsyncFetchHelper(initSettings);
asyncFetchHelper.need(['soap', 'rest']).then(function(soap, rest){
return [
soap('http://soapApi.com', function(client){
client.method(paramObj);
}),
rest('get', 'http://restApi.com', params)
];
}).end(function(results){
console.log(results);
// [soapResult, restResult]
})
AsyncFetchHelper initial - setting
settings
- Object;
The options we have:
apiUrl
- String; If your api have the same domain,your can setting this paramconnectionPool
- Object; Set http agent object here
example : if you have two apis that url is [rest] http://api.com.tw/api1
and [soap] http://api.com.tw/api2
// settings
var initSettings = {
"apiUrl" : "http://api.com.tw",
"connectionPool": {
"rest" : { "keepAlive": true, "keepAliveMsecs": 600000 , "maxSockets":5, "maxFreeSockets": 5},
"soap" : { "keepAlive": true, "keepAliveMsecs": 600000 , "maxSockets":5, "maxFreeSockets": 5}
}
};
AsyncFetchHelper initial - new function
var AsyncFetchHelper = require('async-fetch-helper');
var initSettings = {something : "setting at here, please view 'AsyncFetchHelper initial - setting'"};
var asyncFetchHelper = new AsyncFetchHelper(initSettings);
AsyncFetchHelper prototype Api
need(apiTypeList)
apiTypeList
- ArrayList; api type (rest, soap, etc...)
need(['soap', 'rest'])
The method will return constructor of AsyncFetchHelper at follow.
then(callback)
callback
- Function; The function "then" will apply the api type you need, and it must return an array that about the api request settings
then(function(rest, soap){
return [rest(),soap()];
})
end(callback)
callback
- Function; The function will get all api response using array
end(function(result){
console.log(results);
// [soapResult, restResult]
})
AsyncFetchHelper static Api
AsyncFetchHelper.register(apiType, handler)
apiType
- String; Naming for handlerhandler
- Function; Other method for call api defined by userThis method will add your handler to method options of need, so you can call your handler by `need(['youApiTypeName'])`
AsyncFetchHelper.setConnectionPool(settings)
settings
- Object; Set http agent object here
{
rest : { keepAlive: true, keepAliveMsecs: 600000 , maxSockets:5, maxFreeSockets: 5},
soap : { keepAlive: true, keepAliveMsecs: 600000 , maxSockets:5, maxFreeSockets: 5}
}
AsyncFetchHelper methods by function need()
rest(method, url, params, returnKey, restCallback)
method
- String; Request type (GET, PUT, POST, etc...)url
- String; api urlparams
- Object; Request params, if request type is get or delete, it will be query uri, or it will be request bodyheaders
- Object; Optional; Request headers, ex: {"Content-Type":"application/x-www-form-urlencoded"}returnKey
- String; Optional; Return value of key at first level in ResultrestCallback
- Function; Optional; This function will get current request result, and it is like functionthen
that must return an array that about the api request settings
soap(url, soapCallback)
url
- String; api urlsoapCallback
- Function; This function will get soap client, andmethod wrapper
### method wrapper(params, returnKey, methodCallback) - `params` - _Object_; _Optional_; Request params - `returnKey` - _String_; _Optional_; Return value of key at first level in Result - `restCallback` - _Function_; _Optional_; This function will get current request result, and it is like function `then` that must return an array that about the api request settings
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago