Maison > interface Web > js tutoriel > le corps du texte

Comment résoudre la lecture et l'écriture asynchrones des résultats de synchronisation dans le module fs dans node.js

一个新手
Libérer: 2017-09-30 09:38:14
original
2274 Les gens l'ont consulté

async wait résout les problèmes asynchrones. Ces deux mots-clés ont été proposés par es7, les versions de test, de nœud et de navigateur ont donc été améliorées

le fonctionnement async wait est basé sur async wait résout les problèmes asynchrones. 🎜 >Mise en œuvre de la promesse

async waitCes deux mots-clés sont utilisés ensemble S'ils sont utilisés séparément, une erreur sera signalée

<.>await ne peut être suivi que de promiseobject

Pour ceux qui ne connaissent pas le fonctionnement asynchrone de promise, allez lire mon article sur promise

<span style="font-size: 18px;">Promise 解决多层嵌套,回调地狱<br>什么叫回调地狱<br>写一个实例,就是恶心的多层欠嵌套<br></span>
Copier après la connexion
function a(){    
function b(){        
function c(){
    }
   }
}
Copier après la connexion

Un tel code semble difficile à maintenir et ses performances sont faibles

<span style="font-size: 18px;"><br/></span><span style="font-size: 18px;">下面我们看看fs模块解决异步请求,同步结果的问题<br/><br/></span>
Copier après la connexion
//es7let fs=require(&#39;fs&#39;);function read(url) {    //new Promise 需要传入一个executor 执行器
    //executor需要传入两个函数 resolve reject
    return new Promise((resolve,reject)=>{        //异步读取文件
        fs.readFile(url,&#39;utf8&#39;,function (err,data) {            
        if(err){
                reject(err)
            }else{
                resolve(data);
            }
        })
    })
};//async await 解决异步问题,基于promise//async await这两个关键字一起使用//await 后面只能跟promise对象async function getData(){    try{        //Promise.all()并发读取
        let result =await Promise.all([read(&#39;name.txt&#39;),read(&#39;age.txt&#39;)]);
        console.log(result);
    }catch (e){
        console.log(e);
    }
}
getData();//Promise 解决多层嵌套,回调地狱// 解决异步请求,同步结果的问题
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!