Я только начал изучать API. И я наткнулся на эту проблему. МОЯ ЦЕЛЬ: Я хотел бы сделать два отдельных вызова, чтобы удивить API одновременно. Первый вызов получит все данные о персонаже и его идентификаторе, затем я соберу их вместе в переменную и сохраню в базе данных. Теперь второй вызов получит все данные комиксов, и эти данные будут включены в символьный объект, созданный во время первого вызова. Теперь, когда у меня есть эта полная символьная переменная. Затем я могу отправить его на просмотр двигателя. Но я не знаю, как это сделать. Есть ли более простой способ решения этой проблемы? Ребята, пожалуйста, дайте мне знать, что я делаю не так ...
//Mongoose model set up for Thumbnail > path, and extension
var Schema = mongoose.Schema;
var thumbnailSchema = new Schema({
path: "String",
extension: "String"
});
var thumbnailPath = mongoose.model('thumbnailPath', thumbnailSchema);
//Mongoose model set up for Comics
var Schema = mongoose.Schema;
var comicsSchema = new Schema({
title: "String",
imagePath: [thumbnailSchema]
});
var Comics = mongoose.model('Comics', comicsSchema);
//Mongoose model set up for Character
var Schema = mongoose.Schema;
var characterSchema = new Schema({
id: "Number",
name: "String",
description: "String",
imagePath: [thumbnailSchema],
comicsPath: [comicsSchema]
});
var Character = mongoose.model('Character', characterSchema);
//Create POST
app.post('/', function(request,response){
var characterData = request.body.character;
var url = "https://gateway.marvel.com/v1/public/characters?name=" + characterData + "&ts=thor&apikey=PRIVATe"
Request(url,function(error,res,body){
var apiData = JSON.parse(body)
if(!error && res.statusCode == 200){
var newCharacter = Character ({
id: apiData.data.results[0].id,
name: apiData.data.results[0].name,
description: apiData.data.results[0].description
});
newCharacter.imagePath.push({
path: apiData.data.results[0].thumbnail.path,
extension: apiData.data.results[0].thumbnail.extension
});
} else {
var characterID = newCharacter.id
var comicsURL = "https://gateway.marvel.com/v1/public/characters/" + characterID + "/comics?limit=5&ts=thor&apikey=PRIVATE";
Request(comicsURL,function(error,res,body){
if(!error && res.statusCode == 200){
var comicsData = JSON.parse(body)
var newComics = Comics({
title: comicsData.data.results[0].title,
});
newComics.imagePath.push({
path: comicsData.data.results[0].thumbnail.path,
extension:comicsData.data.results[0].extension
});
newCharacter.imagePath.push({newComics})
console.log(newComics);
}
})
}
})
});