下面是我在npm中如何使用请求模块的一个简短示例。它返回未定义的,并且我相当肯定我正确地使用了xml2js。我是否误用了请求模块中的“form”选项将值传递给goodreads api?谢谢!

var req = require('request');

var resp = req.get('https://www.goodreads.com/book/isbn_to_id', {form:{
    'key' : '*****************',
    'isbn' : '9780060513030'
}});

var parseString = require('xml2js').parseString;

parseString(resp, function (err, result) {
    console.dir(result);
});

最佳答案

它是一个基于回调的异步api,而不是承诺或常规返回值。

var req = require('request');
var parseString = require('xml2js').parseString;

req.get('https://www.goodreads.com/book/isbn_to_id', {form:{
    'key' : '*****************',
    'isbn' : '9780060513030'
}}, function (error, response, body) {
  //error handling goes here!
  parseString(body, function (err, result) {
    //error handling goes here, too!
    console.dir(result);
  });
});

07-27 23:10