以承诺回报价值

时间:2018-10-03 17:20:35

标签: reactjs react-native

我定义了一个函数,并输出0或1:

async userLogin ()

我在render中使用了以下代码,但始终返回对象:

value = this.userLogin()
      .then(function(value) {
        return value;
      })

我不会在userLogin上使用setstate。还有其他解决方案吗?

2 个答案:

答案 0 :(得分:0)

确保userLogin()函数解析返回值的promise,然后执行以下操作:

const value = await this.userLogin();
// setState here

userLogin()的外观如下:

async userLogin () {
    return LoginFramework.login().then(value => {
        return value;
    });
}

答案 1 :(得分:0)

您有两种方法可以做到:

 // if it is global
 let value = 0; 

 ..... eliminated for brevity

 this.userLogin()
      .then(result => {
         value = result;
      })

或使用异步/等待

 async testFunction() {
      let value = await this.userLogin();
 }