var request = require("request-promise"),
parseXml = require("xml2js").parseString,
q = require("q");
exports.getEntities = function(entity, callback) {
var uri = "http://lookup.dbpedia.org/api/search/PrefixSearch?QueryClass=&MaxHits=5&QueryString=" + entity;
var options = {
uri : uri,
method : "GET",
transform : function (data) {
var deferred = q.defer();
parseXml(data, function(err, result) {
deferred.resolve = result.ArrayOfResult.Result;
});
return deferred.promise;
}
};
return request(options);
};
parseXml uses a call back, but I need to return a value from the transform function. I've tried the above, but because the caller of transform is not expecting a promise it's not doing what I wanted. How can I return the result of parseXml to transform?