2016-08-25 6 views
0

약간의 컨텍스트 : 사용자가 응용 프로그램을 제출하고 해당 응용 프로그램을 수락/거부 할 수있는 플랫폼이 있습니다. 응용 프로그램 목록은 Applications.js.coffee에 나열되어 있으며 각 응용 프로그램은 Application.js.coffee에 나열되어 있습니다.스토어가 Elasticsearch 삭제로 충분히 빨리 업데이트되지 않습니다

각 개별 응용 프로그램 내에서 삭제를 클릭하면 너무 빨리 응용 프로그램 목록으로 돌아갈 수있는이 문제가 있습니까? 로드가 너무 빠르기 때문에 내 store은 응용 프로그램 목록을 다시 처리 할만큼 빠르지 않아서 삭제 한 응용 프로그램이 목록에 계속 표시됩니다. 내가 Elasticsearch을 사용하고

# Applications.js.coffee 
componentDidMount:() -> 
    com.stores.applications.on("apps", @onApps) 

onApps:() -> 
    a = com.stores.applications.list(@state.apps) 
    @setState(apps: a) 

# Application.js.coffee 
onDelete() -> 
    com.actions.delete(@props.id).done(() => 
     com.actions.transitionTo("URL back to Applications.js") 

는 ... 사실 나는이 프로젝트에 협력이 기술에 익숙하지 않은 나는거야 때문에,이 어떤 경험을 필요가 없습니다. 나는 https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete.html#delete-refresh을 보라고 들었다. 내 store 전화 인 Elasticsearch으로 뭔가를 할 또는 2 (? delay과) 응용 프로그램의 새 목록을 검색 할 수있는 충분한 시간을 가질 것, 그래서 몇 밀리 초 단위로 페이지를로드 1. 지연 :

가 나는 두 가지 옵션이 생각 내가 도움을 요청하는 것.

답변

0

나는 약속을 사용하고 DB 삭제가이 경계선 [링크 전용 답] (// meta.stackexchange.com/q/8231)입니다 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise

+0

완료 될 때를 반환합니다. 여기에 많은 정보를 포함 시키려면 답을 넓히고 참고 용으로 만 링크를 사용해야합니다. – FrankerZ

+0

그는 이미 그렇게하고 있습니다. 그의 "promise-like"함수는'.then()'콜백 대신'.done()'콜백을 사용합니다. 단순히 약속을 추가하는 것은 똑같은 일을하므로 도움이되지 않습니다. – slebetman

+0

가능하다면 좀 더 설명이 필요합니다. 나는 단지'.done()'을'.then()'로 대체합니까? – patrickhuang94