javascript - 如何从函数内部的数据中正确返回值
问题描述
我是 javascript 新手,并开始从中学习惊人的东西。作为下面的代码,我怎样才能返回index
inside的值getData().then(data => {
。getData
函数具有 json 响应值。
subPatternStart() {
getData().then(data => {
var patternStart = 1525750500000;
var index = 0;
for (var i = 0; i < data.length; i++) {
if ( patternStart >= data[i].time && patternStart < data[i+1].time ) {
//...somecode
}
}
console.log("Index:" , index);
})
}
我想要实现的是,当我调用这个函数时,我应该只获取 index 的值,在这种情况下,控制台日志值相当于1
.
我的渲染方法中有这个。
render() {
index={this.subPatternStart()}
}
在这个简单的代码中,它返回渲染方法中的确切值,我想做这样的事情。
subPatternStart() {
var patternStart = 1;
return patternStart;
}
解决方案
您应该使用从中获得的值设置组件的状态getData
。然后 React 可以自行更新并渲染页面。例如
import React from 'react';
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
index: 0
}
}
subPatternStart() {
getData().then(data => {
var patternStart = 1525750500000;
var index = 0;
for (var i = 0; i < data.length; i++) {
if (patternStart >= data[i].time && patternStart < data[i + 1].time) {
//...somecode
}
}
this.setState({
index: index
});
})
}
render() {
index = this.state.index
}
}
推荐阅读
- python - 遍历R中的字符串
- json - JSON 解析 Swift 4
- django - 在 PgAdmin 4 中未检测到在 psql 中创建的数据库
- sails.js - 使用 postgresql 的 Sails 数据库配置问题
- sql - 如何在 cakephp 3.6.3 中为其中一个表 sql 命名
- python - Python 抓取网站显示未知 url 类型:view-source
- sql - 选择两年之间的日期
- c# - 从 .net 标准库中读取 appsettings.json
- macos - 没有 GUI 提示的 Mac OSX 安全工具
- c# - C# 将 LINQ 表打印到控制台而不指定属性