Javascript 我对返回URL而不是数据的代码有问题
此代码返回一个链接 html bodyYou's been a href http://www.goodreads.com/book/show/656.War_and_Peace“重定向了一个bodyhtmlJavascript 我对返回URL而不是数据的代码有问题,javascript,node.js,api,Javascript,Node.js,Api,此代码返回一个链接 html bodyYou's been a href http://www.goodreads.com/book/show/656.War_and_Peace“重定向了一个bodyhtml 而不是其中的xml数据。 我不知道为什么?通常,多个回调样式会让事情变得非常混乱。您可以使用promises或async/await样式。这将使代码更清晰、更容易理解。请看下面的内容 var http = require('http'); var xml2js = require('xm
而不是其中的xml数据。
我不知道为什么?通常,多个回调样式会让事情变得非常混乱。您可以使用promises或async/await样式。这将使代码更清晰、更容易理解。请看下面的内容
var http = require('http');
var xml2js = require('xml2js');
var parser = xml2js.Parser({
explicitArray: false
});
var goodreadsService = function () {
var getBookById = function (id, cb) {
var options = {
host: 'www.goodreads.com',
path: '/book/show/656?format=xml&key={my developer key}'
};
var callback = function (response) {
var str = '';
response.on('data', function (chunk) {
str += chunk;
});
response.on('end', function () {
console.log(str);
parser.parseString(str,
function (err, result) {
cb(null,
result.GoodreadsResponse.book);
});
});
};
http.get(options, callback).end();
};
return {
getBookById: getBookById
};
};
module.exports = goodreadsService;
希望这有帮助。什么是
my developer key
?代码的格式使其无法读取。我不知道为什么函数会在返回对象的位置返回字符串(url)。在return语句中,您应该调用getBookById()
函数。但是,getBookById
函数返回noting,因此它应该返回undefined
。您能将其标记为答案供其他人参考吗?
var got = require("got");
var xml2js = require("xml2js");
var parser = xml2js.Parser({ explicitArray: false });
async function getById(id) {
const response = await got("https://goodreads.com/book/show/656?format=xml&key=somekey");
const json = await parser.parseStringPromise(response.body);
return json;
}