如何避免在更改Text时请求过多的HTTP请求

时间:2017-09-07 03:59:15

标签: django amazon-web-services http servlets react-native

  1. 我正在发送更改文字的GET请求。
  2. 因此,如果我在初始点推荐'my_username'并且用户更改为'hi_user',那么我发送大约18个GET请求。
  3. 请求如下所示

    url: ${ROOT_URL}/profile/unamecheck/?un=${username}
    body: username
    response: {valid: true}
    
    Here is my React Code
    _handleChange = async (username) => {
        this.setState({username})
        let response = await axios.get(`${ROOT_URL}/profile/unamecheck/?un=${username}`)
        if (response.status === 200) {
            if(response.data.obtained) {
              this.setState({isValidUsername: false})
            } else {
              this.setState({isValidUsername: true})
            }
        } else {
    
        }
        console.log('isValidUsername');
        console.log(this.state.isValidUsername);
      }
    

1 个答案:

答案 0 :(得分:2)

向用户发出的每次击键发送请求都没有用。存在用于限制这些请求的库 - 仅在用户停止键入时才触发请求。

debounce plugin页面有一个关于其实施的演示 - 您可以在浏览器中查看它。

对于本地反应,可以实现此answer的逻辑(它使用lodash's debounce):

push('/')