node.js - Promise 取值问题

浏览:20日期:2022-09-16

问题描述

问题描述:

var promise = client.getMap(config.map);promise.then(function (rs) { console.log(rs);});

这个promise是个Promise的对象,里面包裹了我想要的值rs,但是貌似只能通过promise.then这种方式异步方式取值,我想定义一个变量去接收,然后在继续往下做。新手对promise还不是很熟

问题解答

回答1:

你想用promise,就得接着用then/catch,或者使用async/await,就把异步直接转换成同步操作。

async function getRS (){ try{let rs = await client.getMap(config.map);console.log(rs);return rs; } catch(err){console.error(err); }}getRS();

async/await学习参考阮一峰老师 => http://es6.ruanyifeng.com/#do...

soonfy

回答2:

如果你promise都不熟悉,就别整ES6的async/await了,会更晕的。如果你不熟悉promise,你把then当成callback来用就好了(其实promise挺容易学的)

var value;function cb(rs){ value = rs; console.log(value);}function onerr(err){ console.error(err);}client.getMap(config.map).then(cb,onerr);

相关文章: