如何删除以下.then()函数中的返回值?

时间:2016-01-27 14:57:41

标签: ecmascript-6 es6-promise

我想在以下.then()函数中删除一个或两个返回:

 return store.findParent(to.params.id).then((project) => {
    return store.findByParent('project', project).then((result) => {
      return {
        project: project.toJSON(),
        tasks: result
      }
    })
  })

我试过了:

  return store.findParent(to.params.id).then((project) => ({
    store.findByParent('project', project).then((result) => {
      project: project.toJSON(),
      tasks: store.findListByParent('project', project)
    })
  }))

但是我得到了

  

解析错误:任务中出现意外的标识符:store.findListByParent

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

在使用箭头函数的简洁形式时,您希望摆脱括号和括号 - 除非您想要return an object literal

return store.findParent(to.params.id).then(project =>
    store.findByParent('project', project).then(result => 
        ({
            project: project.toJSON(),
            tasks: result
        })
    )
);

您目前拥有的是一个对象文字,其中.findByParent…是属性名称中的语法错误。