当action使用promise

时间:2016-11-15 15:15:06

标签: javascript vue.js es6-promise vuex

当我使用带有promise的操作时,我确实遇到了一些问题,让indexOf在vuex变异中工作。这是我的行动

export const deleteItem = ({commit}, item) => {
    return new Promise((resolve, reject) => {
        Vue.http.delete(item.url, item)
           .then(response => {
               commit(types.DELETE_ITEM, {response, item})
               resolve(response)
           })
           .catch(error => {
               commit(types.ERROR, error)
               reject(error)
           })
    })
}

这是我的突变

[types.DELETE_ITEM](state, {response, item}) {
   state.notifications = {
            display:    true,
            type:       'success',
            ok:         response.ok,
            status:     response.status,
            statusText: response.statusText,
            body:       response.body
        }
        state.items.splice(state.items.indexOf(item), 1)
    }

我收到错误indexOf不是函数,有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

我愚蠢到将state.items数组重新分配给代码中的对象并且indexOf函数消失了。