Implémentez une fonction comme celle-ci
person('tom')
// 输出 hi tom
person('tom').getup('洗刷刷')
// 输出 hi tom
// 输出 tom getup and 洗刷刷
person('tom').before('嘘嘘').getup('洗刷刷')
// 输出 tom 嘘嘘
// 输出 hi tom
// 输出 tom 嘘嘘 getup and 洗刷刷
Demandez : Que faut-il utiliser pour réaliser ? ?
L'intervieweur a dit qu'il s'agissait d'asynchrones, de files d'attente, etc.~~~
C'est un contrôle de processus, tout comme lazyMan, vous pouvez voir ceci http://www.cnblogs.com/Upton/...
Je suppose que ce que vous voulez, c'est ceci. Voici un principe. La structure du code est très simple
.Il existe une file d'attente d'exécution
jobs
. Lors de l'appel deavant
, ajoutez le contenu en tête de la file d'attente. Lors de l'appel degetup
, ajoutez le contenu. à la queuejobs
调用before
的时候把内容加到队列头部 调用getup
的时候把内容加到尾部基本原理就是利用
setTimeout
时间设置为0setTimeout
里面的函数 要在当前运行环境所有东西运行完之后才会执行所以我在怀疑题主的第三个例子里 第三行又输出一次
Le principe de base est d'utiliser嘘嘘
setTimeout
pour régler l'heure sur 0. Les fonctions desetTimeout
ne seront pas exécutées tant que tout dans l'environnement d'exploitation actuel n'aura pas fini de s'exécuterShhhh
est à nouveau affiché dans la troisième ligne. Est-ce une faute de frappe ?. Mais même s’il ne s’agit pas d’une erreur matérielle, ce n’est pas grave. Selon ce principe, vous pouvez le modifier comme vous le souhaitez. Ce n’est pas un problème de l’appeler plusieurs fois.
🎜🎜🎜Référez-vous au processus de mise en œuvre de la promesse