I wish to make a async method call to an API. The code snippet will make things clear.
convertImmediate:function(amount=1, fromCurrency="EUR", toCurrency="EUR")
{
let promise = new Promise(function(fullfill,reject){
let url = getURLForLatest(fromCurrency);
request(url, function(error,response,body){
conversionRate = JSON.parse(body).rates[toCurrency];
let convertedValue = amount * conversionRate;
console.log(convertedValue);
fullfill(convertedValue);
});
});
promise.then(function(convertedValue){
return convertedValue;
}, function(){
return new Error("Something went wrong!");
})
}
The method defines a promise, and when the API is called and then processed, the Promise is resolved and the value (convertedValue) is returned.
But, I am not able to figure out how to consume this method in a Sync way.
I wish to be able to do something like this.
1:var convertedRate = convertImmediate(10,'EUR','INR');
2:console.log(convertedRate); //450.00
I cannot get line 1 to wait for the response from the convertImmediate method. Is it not possible to achieve this?
via Nikhil Kuriakose
No comments:
Post a Comment