自动完成从API获取数据

时间:2018-10-22 15:04:36

标签: javascript reactjs google-maps redux google-places-api

我想创建一个自动完成输入组件,以从Google Maps Place API检索地点。

这是此API的示例响应: https://developers.google.com/places/web-service/search#PlaceSearchResponses

我的问题是我应该如何处理用户输入/键入和调用API以更新自动完成选项?

做这样的事情正确吗: 在keyup上设置超时,以检查用户是否停止键入,然后在几秒钟后调用API;并在keydown上清除超时以避免在用户仍在键入时调用API?

我无权访问Google Cloud Platform Console,因此无法启用Maps Javascript API并使用Place Autocomplete

1 个答案:

答案 0 :(得分:1)

您是否使用纯JavaScript? 如果没有,则可以使用lodash debounce function,它完全可以满足您的需求。

编辑: 正如某人在评论中指出的那样,我不应该只是发布链接作为答案,所以我将提供一个片段来帮助改善此答案

import _ from 'lodash';
$(selector).on('keyup', _.debounce(function (e) {
      // stuff
    }
}, 500));