【问题标题】:Handling multiple api calls in react-native在 react-native 中处理多个 api 调用
【发布时间】:2016-06-07 05:04:00
【问题描述】:

我正在尝试实现一个搜索字段,这里发生的情况是,每当用户输入文本 i 文本字段时,计时器将重置为 300 毫秒,然后在收到应用程序的这些结果后立即发送 api 调用(搜索)以获取自动完成结果等待另一个 1s 并发送另一个请求。在此期间,用户可能会输入更多文本。因此,我假设的一种情况是调用了搜索 api,并且在响应到达之前,用户更改了发送另一个预搜索调用的文本,现在搜索响应到达并被误认为是预搜索响应,因此给出了错误。有什么解决方法吗?

【问题讨论】:

    标签: javascript json networking react-native


    【解决方案1】:

    您想要的是在用户输入更多文本时取消正在进行的请求。

    我假设您使用的是 fetch api。 不幸的是,它没有办法按照 Promise 规范取消请求。如果需要取消请求,可以直接使用XMLHttpRequest

    另一种可能性是检查fetch 响应处理程序是否正在搜索的初始文本已更改。在这种情况下,您不会在该处理程序中执行任何操作。

    【讨论】:

    • 所以这是正确的方法嗯嗯......虽然我通过区分不同的响应并调用各自的函数来解决它。我想知道我们可以把它放在功能请求中吗?
    猜你喜欢
    • 1970-01-01
    • 2019-01-05
    • 2022-11-29
    • 2016-11-08
    • 2017-10-10
    • 2021-08-27
    • 2022-08-13
    • 2018-08-23
    • 1970-01-01
    相关资源
    最近更新 更多