node.js - nodejs回调变await写法
漂亮男人
漂亮男人 2017-05-17 09:57:09
[Node.js讨论组]

我有这样一段代码


module.exports.AAA=function(){

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

上面的代码我怎么在调用AAA()的时候直接获取到data的值呢?如果是使用asyncawait怎么写呢?

漂亮男人
漂亮男人

全部回复(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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号