JsCommunity / JsCommunity/node-zone

There is a problem. If node-zone include node-zone, the outside will be replaced by the last child zone data.

Ouverte
#7 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
JavaScript
Étoiles
2
Forks
1
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

const {current} = require('node-zone');

let zone = current.fork('my zone');
zone.data = {test: 'test'};
zone.run(async () => {
    let __current = require('node-zone').current;
    console.log(__current);
    for (let i = 0; i < 50; i++) {
        (async function (i) {
            let zone = current.fork('my zone ' + i);
            zone.data = {i: i};
            // zone.run()
            // zone.set('i', 123456);
            // console.log(current);
            zone.run(async () => {
                (async function () {
                    (async function () {
                        (async function () {
                            let {current} = require('node-zone');
                            // console.log(common.timeHelper.format_ms(), current);
                            console.log(current);
                        })();
                    })();
                })();
            });
        })(i);
    }
    //will lost the current, will show the last child zone data.
    console.log('current zone data', __current);
    console.log('last child zone data', require('node-zone'));
});
return;

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire le problème de l’issue et examinez l’implémentation node-zone de current, fork et run. Reproduisez les appels asynchrones imbriqués, puis cherchez pourquoi la zone externe est remplacée par la dernière zone enfant ; le travail est terminé lorsque current de la zone externe contient toujours ses données d’origine après la fin des zones enfants.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript
Domaine
backend
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.