Il y avait un tel problème.
J'essaie de faire un certain nombre de demandes d'accès à Wikipedia API à l'aide d'un cycle.
Essayant de le faire avec la fonction un tableau Je m'attends à ce que le tableau mais en fait, il s'avère que chaque élément d'une matrice bidimensionnelle est identique. par exemple strong>: p> pourquoi et comment le réparer? p> p> getallinfo () code> p>
this.Altitales code> peut consister en un certain nombre de lignes. par exemple strong>:
ceci.Alttitles = ['Naumen', 'Naumen DMS'] Code> P>
the.Allarray < / Code> sera bidimensionnel et contiennent des tableaux composés de lignes avec des données pour chaque requête. par exemple strong>: p>
3 Réponses :
Vous pouvez utiliser Premièrement, collectez-vous à combiner des observables (mais sans vous les abonner à eux), puis combinez-les avec Combinelatst CODE>: https: // www .Learnrxjs.io / opérateurs / combinaison / combinaison de combinaison
Combinelatst code> et obtenez la réponse En tant que tableau code> code> et itérer sur elle. p>
Peut-être, j'ai mal compris la question, mais vous pouvez obtenir des pages avec des titres particuliers, en corrigeant votre recherche de rechercheery code> (en utilisant des séparateurs alternatifs pour les titres) et supprimez-vous de
pour boucle code >::
const pages = {
"755288": {
"pageid": 755288,
"ns": 0,
"title": "Spring",
"contentmodel": "wikitext",
"pagelanguage": "ru",
"pagelanguagehtmlcode": "ru",
"pagelanguagedir": "ltr",
"touched": "2019-01-26T07:25:08Z",
"lastrevid": 84434967,
"length": 773
},
"92586": {
"pageid": 92586,
"ns": 0,
"title": "Atom",
"contentmodel": "wikitext",
"pagelanguage": "ru",
"pagelanguagehtmlcode": "ru",
"pagelanguagedir": "ltr",
"touched": "2019-01-25T00:45:06Z",
"lastrevid": 95248014,
"length": 4508
},
};
const arr = Object.keys(pages).reduce((acc, val, index) => {
acc[index] = [pages[val].touched, pages[val].length];
return acc;
}, []);
console.log(arr);
Oui, ça marche, mais à cause de cela, mon Problème passé apparaît
@Ila Nizovcev J'ai ajouté le traitement du résultat, vous aurez donc une matrice multidimensionnelle dans une demande
Essayez ceci,
getAllInfo() { for (const title of this.allTitles) { this.articlesServices.getArticleInformation(ArticlesComponent.getUrlInformation(title)) .subscribe( (data: ArticleInformation) => { this.articlesInfo = { ...data, query: { pages: [Object.values(data.query.pages)[0]]} } this.allArray.push([this.articlesInfo.query.pages[0].touched,this.articlesInfo.query.pages[0].length]); } ); } }
Merci beaucoup mon ami! Je t'aime, tu m'as sauvé la deuxième fois.
Les demandes http sont asynchrones. Vous devez mettre à jour le tableau dans votre abonnement.
@Arcteezzy Bonjour, c'est moi encore moi. Tu m'as m'aidé beaucoup hier: D Pourriez-vous me dire exactement quoi écrire?