node.js - nodejs回调变await写法

【字号: 日期:2022-09-10浏览:45作者:雯心

问题描述

我有这样一段代码

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

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

问题解答

回答1:

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); }})();回答2:

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

相关文章: