假设我们有一个文本输入字段,并且在其内容的每次更改时,我们向搜索API发送Http请求.现在,我们无法保证Http响应按照我们发送请求的顺序返回elm.
最简单的方法是确保我们对与最新请求相对应的响应做出反应- 而不是最新的响应,这可能对应于过时的搜索字符串?是否有一种简单的方法将查询字符串附加到Elm的http效果返回的消息中?或者我们可以将响应链接到触发请求的任何其他方式?
如果可能的话,我想避免将查询包含在搜索API的响应中.另一个补救措施是去除搜索,但这只会降低使用错误响应的可能性,而我们想要消除它.
谢谢你的帮助!
例:
import Html
import Html exposing (..)
import Html.Events exposing (onClick, onInput)
import Http
import Json.Decode as Decode
main = Html.program
{ init = ( { searchText = "", result = "" }, Cmd.none )
, update = update
, subscriptions = (\model -> Sub.none)
, view = view
}
type alias Model =
{ searchText : String
, result: SearchResult
}
type alias SearchResult = String
type Msg
= NewSearchText …Run Code Online (Sandbox Code Playgroud) elm ×1