2016-10-30 3 views
1

나는 ID의 배열을 가지고 있으며, 오직 하나의 ID 만 사용하여 항목을 삭제할 수있는 변형을 만들었습니다.
Relay.Store.commitUpdate 또는 this.props.relay.commitUpdate을 사용하여이 돌연변이를 여러 번 호출 할 수 있습니까?동시에 여러 돌연변이를 호출하는 방법?

commitMutationPromise = (Mutation, data) => 
    new Promise((resolve, reject) => { 
    Relay.Store.commitUpdate(new Mutation(data), { 
     onSuccess: (transaction) => { 
     resolve(transaction); 
     }, 
     onFailure: (transaction) => { 
     reject(transaction); 
     }, 
    }); 
    } 

을 그리고 Promise.all와 약속의 배열 및 캐치 결과로 돌연변이를 커밋 (그러나 마음의 실패 빠른 행동을 계속 :

답변

3

나는 당신이 약속의 각 Relay.Store.commitUpdate을 포장 할 수 있다고 생각). 아이디어 주셔서 대단히 감사합니다, 내가 볼

handleDelete = (deleteIds) => { 
    const deletePromisesArray = []; 
    deleteIds.forEach(id => { 
     deletePromisesArray.push(
      this.commitMutationPromise(DeleteMutation, { id }) 
     ); 
    }); 
    Promise.all(deletePromisesArray).then(values => { 
      this.onSuccessDelete(result); 
     }, error => { 
      this.onFailDelete(error); 
     }); 
    } 
+0

: 그것은이 같은 수 – tahayk

관련 문제