小编f1c*_*ion的帖子

避免在榆树中遇到Http Race Condition

假设我们有一个文本输入字段,并且在其内容的每次更改时,我们向搜索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

6
推荐指数
2
解决办法
119
查看次数

标签 统计

elm ×1