recherche

Maison  >  Questions et réponses  >  le corps du texte

node.js - Comment écrire un rappel nodejs pour attendre

J'ai un morceau de code comme celui-ci


module.exports.AAA=function(){

    let request= test(function(){
        //一段异步代码
    });
    let data;
    
    request.on('data',function(data){})    
    request.on('end',function(){})
}

Comment appeler le code ci-dessus ? AAA()的时候直接获取到data的值呢?如果是使用asyncawaitComment l'écrire ?

漂亮男人漂亮男人2751 Il y a quelques jours689

répondre à tous(2)je répondrai

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-17 09:59:09

    npm install bluebird --save
    const Promise = require('bluebird');
    module.exports.AAA=function(){
        return new Promise((resolve,reject)=>{
            let request= test(function(){
            //一段异步代码
            });
            request.on('data',resolve);    
            request.on('error',reject);
            request.on('end',function(){});
        });
    }
    (async function(){
      try{
         const response = await AAA();
         console.log(response);
      }catch(e){
        console.error(e);
      }
    })();

    répondre
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-17 09:59:09

    foobar.js

    'use strict';
    
    function getDelayedData() {
        return new Promise(async resolve => {
            setTimeout(() => { resolve(+new Date); }, 1000);
        });
    }
    
    (async () => {
        let result = await getDelayedData();
        console.log('Got', result);  // missing error checking
    })();

    Voici un morceau de code pour référence.

    node --harmony-async-await foobar.js

    répondre
    0
  • Annulerrépondre