收藏
回答

请教大佬们如何把getUserDatas()得到的result作为返回值finalResult返回?

function getAllDatas() {

var finalResult = {

"isOk": 0,

"isNo": 0,

"isAll": 0

}

this.getUserDatas(0, function (result) {

console.log("ret");

console.log(result)

finalResult.isAll += result.isAll

finalResult.isNo += result.isNo

finalResult.isOk += result.isOk

});


console.log("最终数据:")

console.log(finalResult)

return finalResult

}

回答关注问题邀请回答
收藏

1 个回答

  • Charlie
    Charlie
    2022-09-19
    function getAllDatas() {
      return new Promise((resolve, reject) => {
        var finalResult = {
          "isOk"0,
          "isNo"0,
          "isAll"0
        }
         
        this.getUserDatas(0function (result) {      
          finalResult.isAll += result.isAll
          
          finalResult.isNo += result.isNo
          
          finalResult.isOk += result.isOk
    
          resolve(finalResult)
        });
      })
    }
    
    getAllDatas().then(res => {
      console.log('最终数据')
      console.log(res)
    })
    
    2022-09-19
    有用 1
    回复 7
    • 博
      2022-09-19
      感谢回答,您说的这个方法我知道,但是这种方法只能说是获取到最终数据在控制台确实能打印出来,但我这边是想把他当成类似一个接口,我在别的地方调用getAllDatas()就能返回我想要的对象,就像:{isOk: 0, isNo: 3, isAll: 3},我在别的地方直接 getAllDatas().isAll就能得到值为3
      2022-09-19
      回复
    • Charlie
      Charlie
      2022-09-19回复
      那就用async await就好了
      2022-09-19
      回复
    • 博
      发表于移动端
      2022-09-19回复Charlie
      之前试过了,没达到效果,es7的东西了解比较少,能否详细解释一下怎么实现吗?
      2022-09-19
      回复
    • Charlie
      Charlie
      2022-09-19回复
      2022-09-19
      回复
    • Charlie
      Charlie
      2022-09-19
      console.log(res.isAll)
      2022-09-19
      回复
    查看更多(2)
登录 后发表内容