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使用回调,但我需要从transform函数返回一个值。我已经尝试了上述内容,但因为变换的来电者并没有期待一个承诺,它没有做我想做的事情。如何将parseXml的结果返回到转换?