如何在破折号中打破滑块输入回调无限循环?

时间:2019-01-21 14:48:11

标签: python slider plotly-dash

我有回调:

@app.callback(Output('inter-yr', 'children'), [Input('year-slider', 'value')])
def saveYear(year):
    return json.dumps(year)

@app.callback(Output('inter-d1', 'children'), [Input('main-indicator', 'value'), Input('inter-yr', 'children')])
def loadData1fromAPI(ddval1, years):
    years = json.loads(years)
    json1 = getIndData(ddval1, '1', str(years))
    return json.dumps([json1, ddval1, years])

@app.callback(Output('inter-d2', 'children'), [Input('rel-indicator', 'value'), Input('inter-yr', 'children')])
def loadData2fromAPI(ddval2, years):    
    years = json.loads(years)    
    json2 = getIndData(ddval2, '2', str(years))
    return json.dumps([json2, ddval2, years])

更改滑块会导致函数loadDataNfromAPI无限循环调用。这很昂贵,因为getIndData从数据库中获取数据,并且其中很多。当focus == True时,它在循环。当我单击某处时,它会停止。

如何自动使滑块散焦或找到其他解决方法?是否正确编写了我的回调?也许我产生但我自己。

我创建了一些功能来检查状态或比较更改,但是所有这些功能都变得太复杂且失败了。

0 个答案:

没有答案