问题描述:
var promise = client.getMap(config.map); promise.then(function (rs) { console.log(rs); });
这个promise是个Promise的对象,里面包裹了我想要的值rs,但是貌似只能通过promise.then这种方式异步方式取值,我想定义一个变量去接收,然后在继续往下做。新手对promise还不是很熟
你想用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
如果你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);
你想用promise,就得接著用then/catch,或是使用async/await,就把異步直接轉換成同步操作。
async/await學習參考阮一峰老師 => http://es6.ruanyifeng.com/#do...
soonfy
如果你promise都不熟悉,就別整ES6的async/await了,會更暈的。
如果你不熟悉promise,你把then當成callback來用就好了(其實promise挺容易學的)