当前位置: 首页 > 知识库问答 >
问题:

用于react状态变量的Javascriptpromise返回变量

农明辉
2023-03-14

我正在使用请求npm包,它只是一个包装在HTTP调用中的promise。我过去对promise有过意见。我如何获得一个promise返回一个值,以便我可以在react中使用它,或者获得一个promise在该promise中设置一个react状态变量?我需要一个API调用的特定数字来设置一个react状态变量。

对于这样的代码...

request(options, function (error, response, body) {
        if (error) throw new Error(error);
        console.log(Number(JSON.stringify(body).split(",")[2].split(":")[1]);
    });

而且

GetHeadBlock = async () => {
        request(options, function (error, response, body) {
            body => Number(JSON.stringify(body).split(",")[2].split(":")[1]);
            this.setState({numberofHeadBlock: body})
        });
    }

共有1个答案

姜建德
2023-03-14

我使用请求promise库返回了一个promise。然后使用“that”关键字引入适当的作用域,并使用整齐放置的return语句来完成一个完整的闭包。

Massfunc = async () => {
    var that = this;
    var promise = rp(options).then(function (body) {
        let returnedValue = Number(JSON.stringify(body).split(",")[2].split(":")[1]);
        that.setState({num: returnedValue});
        return returnedValue;
    }).catch(function (err) {
        console.log(err);
    });
    return promise;
  }
 类似资料:
  • 这是我的问题 我有一个充满国家代码的JSON文件,以及一个获取随机国家代码的函数,如下所示: 在另一个函数中,我调用上面的函数,并尝试将变量存储到另一个变量中,以便在新函数中可用。 谢谢你的帮助。

  • 问题内容: 我想知道是否存在一种实现类似于map getter的功能的方法:它返回返回值作为第一个参数,(可选地分配)第二个值作为第二个参数。因此,我需要可以通过以下方式调用的函数: 问题答案: 不,它无法完成,唯一的选择是返回一个指针并检查它是否为nil。

  • 我有一个React函数组件,沿着遗留的JQuery应用程序运行。在JQuery元素上调用事件处理程序时,传递当前React状态默认值为初始状态值,而不是更新后的状态值。 已验证的x状态正在通过useEffect钩子更改,但在调用事件侦听器时,x设置为初始状态值,而不是更新后的状态值。 不会显示任何错误消息。在本文的上述代码中,我希望onXSave方法调用中的x状态为true,但它一直显示为fals

  • 我用动物代替了我真正的代码,所以这可能看起来有点傻,但这是一个真正的问题。 我的java程序得到一个不同动物的列表,一次遍历一个动物,对每个动物做以下事情:动物被创建,动物做一些随机运动,每个运动被计数,然后程序收集运动数据,做一些分析,并继续到列表中的下一个动物。 我有一个抽象的动物类,由不同的动物对象扩展,狗,猫等等。每个都有自己的动作。在基础动物类中,有一个散列表计算动物的随机运动。 upd

  • 问题内容: 我想知道是否有一种方法可以在发生异常时转储所有局部变量的状态,以更好地了解导致异常的环境状态。 在运行时该变量下面是未知的,我想找出集合中的值引起NPE的状态。 例: 输出: 问题:是否可以传递一些JVM参数来转储有关局部变量当前状态的信息?即我们得到 和(这是我追求的部分) 我希望能够在客户端站点上执行此操作,因此无法仅通过JVM参数访问Eclipse或调试工具,也无法更改代码。我看

  • 问题内容: 在react.js中,将超时引用存储为实例变量(this.timeout)或状态变量(this.state.timeout)更好吗? 要么 这两种方法都有效。我只想知道一个使用另一个的原因。 问题答案: 我建议将其存储在实例上,而不是存储在实例中。每当更新时(应仅按注释中的建议完成),React就会调用并对实际DOM进行任何必要的更改。 由于的值对组件的呈现没有影响,因此不应存在于中。