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
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago