如何将js同Promise中的数组结果单独获取出来啊?

async function getConfigData(type) {
        return new Promise((resolve, reject) => {
            var options={
                    requestType:'GET',
                    url:'/api/dict/GetDictData?dictType='+type+'&defaultValue=',
                    callback: function (text) {
                        var result = mini.decode(text);
                        resolve(result.data.values)
                }
            }
            RequestData(options)
        })
    }
    //性别:
    const Genders=getConfigData('sys_user_sex').then(function(v) {
        //console.log(v)
        return v
    })
    console.log(Genders)
    function onGenderRenderer(e) {        
        for (var i = 0, l = Genders.length; i < l; i++) {
            var g = Genders[i];
            if (g.key == e.value) return g.text;
        }
        return "";
    }

我想把Genders的值变为如下:

Genders = [{ id: 1, text: '男' }, { id: 2, text: '女'}];  

但每次我从控制台获取的Genders都是:

Promise {<pending>}
__proto__: Promise
[[PromiseState]]: "fulfilled"
[[PromiseResult]]: Array(3)
0: {key: "1", value: "男", isDefault: 0, remark: "备注信息"}
1: {key: "2", value: "女", isDefault: 0, remark: "备注信息"}
2: {key: "0", value: "保密", isDefault: 1, remark: "备注信息"}
length: 3
__proto__: Array(0)

如果我想让Genders的值为:

Genders = [{ id: 1, text: '男' }, { id: 2, text: '女'}];  

我怎么怎么处理啊?

阅读 3.1k
1 个回答

const Genders = await getConfigData('sys_user_sex')

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题