


Demandes de GET simultanées et jugements de résultats pour plusieurs liens dans Tampermonkey
Cet article explique comment gérer efficacement les demandes de GET pour plusieurs liens dans les scripts de Tampermonkey et faire des jugements conditionnels en fonction des résultats retournés. L'objectif est de lancer plusieurs demandes de GET simultanément, et une fois les conditions remplies, les demandes suivantes sont immédiatement arrêtées et le résultat est renvoyé.
Étant donné que GM_xmlhttpRequest
n'a pas de mécanisme de demande d'annulation native, il est impossible d'interrompre directement la demande initiée. Par conséquent, nous adopterons les demandes simultanées et mettrons en œuvre un jugement conditionnel et demandera la résiliation par promesse et Promise.race
.
Solution: demandes et promesses simultanées.RACE
Ce schéma initie toutes les demandes d'obtention en même temps et utilise Promise.race
pour trouver le premier résultat de demande qui répond à la condition.
Exemple de code:
fonction fetchurl (url) { retourner la nouvelle promesse ((résoudre, rejeter) => { Gm_xmlhttprequest ({{ Méthode: "Get", URL: URL, onload: (réponse) => { Resolve ({URL: URL, data: réponse.ResponSext}); }, oneError: (erreur) => { rejeter (erreur); } }); }); } fonction asynchrone main () { const Urls = [ "https://example.com/1", "https://example.com/2", "https://example.com/3" ]] Const promis = urls.map (url => fetchurl (url)); essayer { const Résultat = attendre promesse.race (promesses); // déterminer si le résultat remplit les conditions, par exemple: if (result.data.incluses ("succès")) { console.log ("La condition est satisfaite, résultat:", résultat); Résultat de retour; } autre { console.log ("La première demande ne répond pas à la condition"); // Vous pouvez traiter les demandes ultérieures ici, ou renvoyer directement NULL; // ou gérer d'autres résultats } } catch (erreur) { Console.Error ("Erreur de demande:", erreur); retourner null; } } principal();
Ce code définit d'abord une fonction fetchUrl
, initie une demande GET à l'aide de GM_xmlhttpRequest
et renvoie une promesse. main
crée un tableau de promesses contenant toutes les URL et utilise Promise.race
pour exécuter ces promesses simultanément. Promise.race
renvoie le résultat de la première promesse terminée. Le code contient un exemple de jugement conditionnel ( result.data.includes("success")
), que vous pouvez modifier en fonction des besoins réels. Si la première demande ne remplit pas les conditions, les demandes restantes peuvent être traitées davantage ou retournées directement selon les besoins. La gestion des erreurs est également incluse dans try...catch
.
Remarque importante: Bien que cette solution soit implémentée simultanément, elle dépend toujours de l'état du réseau. Si toutes les demandes prennent plus de temps, l'amélioration de l'efficacité est limitée. Pour un grand nombre d'URL, considérez le traitement par lots ou les stratégies de contrôle de concurrence plus avancées. Veuillez vous assurer de remplacer l'URL de l'échantillon pour votre lien réel. Ce code nécessite Tampermonkey ou un gestionnaire de script utilisateur similaire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Javascriptisnotbuiltoncorc; il est en interprétéLanguageThatrunSoninesoftenwritteninc .1) javascriptwasdesignedasalightweight, interprété de LanguageForwebbrowsers.2) EnginesevolvedFromSimpleInterpreterstoJitCompilers, typicalinc, impropringperformance.

JavaScript peut être utilisé pour le développement frontal et back-end. L'endouage frontal améliore l'expérience utilisateur via les opérations DOM, et le back-end gère les tâches du serveur via Node.js. 1. Exemple frontal: modifiez le contenu du texte de la page Web. 2. Exemple backend: Créez un serveur Node.js.

Le choix de Python ou JavaScript doit être basé sur le développement de carrière, la courbe d'apprentissage et l'écosystème: 1) le développement de carrière: Python convient à la science des données et au développement de back-end, tandis que JavaScript convient au développement frontal et complet. 2) Courbe d'apprentissage: la syntaxe Python est concise et adaptée aux débutants; La syntaxe JavaScript est flexible. 3) Ecosystème: Python possède de riches bibliothèques informatiques scientifiques, et JavaScript a un puissant cadre frontal.

La puissance du cadre JavaScript réside dans la simplification du développement, l'amélioration de l'expérience utilisateur et les performances des applications. Lorsque vous choisissez un cadre, considérez: 1. Taille et complexité du projet, 2. Expérience d'équipe, 3. Écosystème et soutien communautaire.

INTRODUCTION Je sais que vous pouvez le trouver étrange, que doit faire exactement JavaScript, C et Browser? Ils semblent sans rapport, mais en fait, ils jouent un rôle très important dans le développement Web moderne. Aujourd'hui, nous discuterons du lien étroit entre ces trois. Grâce à cet article, vous apprendrez comment JavaScript fonctionne dans le navigateur, le rôle de C dans le moteur du navigateur et comment ils fonctionnent ensemble pour stimuler le rendu et l'interaction des pages Web. Nous connaissons tous la relation entre JavaScript et Browser. JavaScript est la langue principale du développement frontal. Il fonctionne directement dans le navigateur, rendant les pages Web vives et intéressantes. Vous êtes-vous déjà demandé pourquoi javascr

Node.js excelle dans des E / S efficaces, en grande partie grâce aux flux. Streams traite les données progressivement, en évitant la surcharge de mémoire - idéal pour les fichiers volumineux, les tâches réseau et les applications en temps réel. Combiner les flux avec la sécurité de type dactylographié crée un powe

Les différences de performance et d'efficacité entre Python et JavaScript se reflètent principalement dans: 1) comme un langage interprété, Python fonctionne lentement mais a une efficacité de développement élevée et convient au développement rapide des prototypes; 2) JavaScript est limité au thread unique dans le navigateur, mais les E / S multi-threading et asynchrones peuvent être utilisées pour améliorer les performances dans Node.js, et les deux ont des avantages dans les projets réels.

JavaScript est originaire de 1995 et a été créé par Brandon Ike, et a réalisé que la langue en langue C. 1.C offre des capacités de programmation élevées et au niveau du système pour JavaScript. 2. La gestion de la mémoire de JavaScript et l'optimisation des performances reposent sur le langage C. 3. La fonctionnalité multiplateforme du langage C aide JavaScript à s'exécuter efficacement sur différents systèmes d'exploitation.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP
