首页 > 解决方案 > Loop back error next 不是函数,未处理的拒绝

问题描述

module.exports = (tableName, params, option, next) ->
  log.debug "#{tableName}/insertOrUpdate", params
  data = params
    
  Table = Promise.promisifyAll loopback.getModel tableName
  Promise.resolve()
  .then () ->
    if data.id
      return Table.findByIdAsync data.id
      .then (_data) ->
        p = extractDiff _data, data
        # log.debug "#{tableName}/insertOrUpdate extractDiff", _data, data, p, (p and (_.size p) > 0)
        if p and (_.size p) > 0
          p.updatedAt = new Date()
          p.id = _data.id
          # log.debug "#{tableName}/insertOrUpdate extractDiff", p
          return _data.updateAttributesAsync p
        else
          return Promise.resolve()
    else
      return Table.createAsync data
      .then (_data) ->
        data = _data
        return Promise.resolve()
  .then () ->
    return Table.findByIdAsync data.id, include: (option.include || [])
  .then (_data) ->
    next null, _data 
  .catch (e) ->
    log.error "#{tableName}/insertOrUpdate", e
    next e

  return

我遇到错误“TypeError:next 不是函数”和“您已触发未处理的拒绝”我试图修改代码但仍然有相同的错误。

标签: coffeescriptloopbackjs

解决方案


推荐阅读