node.js - Promise 取值问题
巴扎黑
巴扎黑 2017-04-17 16:24:23
0
2
698

问题描述:

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

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

巴扎黑
巴扎黑

全部回覆(2)
迷茫

你想用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);
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板