Mon projet final est un site Web de commerce électronique, et le backend est implémenté à l'aide d'un nœud. Tout le code est écrit dans le même fichier js, ce qui est très gênant. Le premier est le code pour se connecter à la base de données. Dans la fonction de rappel pour se connecter à la base de données, définissez le schéma et le modèle. La route est ensuite traitée et le modèle est rendu dans la fonction de rappel de la route. Qui peut résoudre ce problème d’imbrication à plusieurs niveaux ?
Concernant le problème du rappel, plusieurs autres étudiants ont dit que vous pouvez utiliser promise et async/await pour résoudre la malédiction du rappel.
Comme pour tous les codes placés dans le même fichier js, si vous n'avez pas d'expérience en développement back-end, vous pouvez facilement écrire le backend directement à l'aide de node. Express, qui est actuellement le plus utilisé, est relativement simple par rapport aux frameworks de développement Web traditionnels, et koa est encore plus simple.
Ils présentent uniquement comment obtenir des demandes, des demandes de retour, etc. dans le document, mais ils ne vous présenteront pas comment structurer des applications volumineuses. Si un novice n'a pas conscience des couches, tout ce qu'il peut faire est d'écrire un contrôleur et d'y intégrer toute la logique métier.
Autant que je sache jusqu'à présent, vous pouvez essayer eggjs. Au moins, le document répertorie les niveaux de service, le contrôleur et le modèle pour vous. Cela peut être utile pour votre développement.
En plus des problèmes asynchrones mentionnés par tout le monde ci-dessus (résolus en utilisant des promesses, async/wait, etc.), je pense que vous devriez prêter attention au problème
模块化
.Vous mettez tout le code dans un seul fichier, ce qui est déjà assez ennuyeux même sans ces multiples niveaux d'imbrication.
Au contraire, si la modularisation est mieux faite, vous ne vous sentirez peut-être pas mal à l'aise face à ces problèmes d'imbrication.
..promesse, générateur, asynchrone/attendez, vous avez tous l'intention de l'avoir. . . Passer de l'écriture asynchrone à l'écriture synchrone n'est plus un rêve ! ~! ~!
C'est similaire à mon projet de fin d'études. Je l'ai aussi accroché sur node.js. J'ai fait la même chose au début. Ensuite, j'ai étudié les promesses et j'ai ensuite utilisé celui-ci. Vous pouvez également l'essayer.