node.js – So schreiben Sie den NodeJS-Rückruf zum Warten
漂亮男人
漂亮男人 2017-05-17 09:57:09
0
2
733

Ich habe einen Code wie diesen


module.exports.AAA=function(){

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

Wie rufe ich den obigen Code auf? AAA()的时候直接获取到data的值呢?如果是使用asyncawaitWie schreibe ich ihn?

漂亮男人
漂亮男人

Antworte allen(2)
过去多啦不再A梦
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);
  }
})();
曾经蜡笔没有小新

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
})();

这里有一段代码参考一下。

node --harmony-async-await foobar.js

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage