这个js怎么改成if的形式?

下面的怎么改成if的形式,因为有一个条件下我要处理多个逻辑所以下面的写法没办法实现?

const res =addEditType.value === 'add'
        ? await addUserApi(data).catch(() => {})
        : await editUserApi(formData)
阅读 836
avatarAI BotBETA

要将给定的 JavaScript 代码从三元运算符的形式转换为 if 语句形式,可以按照以下方式编写:

if (addEditType.value === 'add') {
  try {
    const result = await addUserApi(data);
    // 在这里处理 addUserApi 的结果
  } catch (error) {
    // 在这里处理 addUserApi 的错误
  }
} else {
  try {
    const result = await editUserApi(formData);
    // 在这里处理 editUserApi 的结果
  } catch (error) {
    // 在这里处理 editUserApi 的错误
  }
}

在上面的代码中,我们使用 if 语句来检查 addEditType.value 是否等于 'add'。如果是,则执行 addUserApi(data) 的逻辑,并在 try 块中处理其结果。如果发生错误,catch 块将捕获并处理该错误。

如果 addEditType.value 不等于 'add',则执行 editUserApi(formData) 的逻辑,并在 try 块中处理其结果。同样地,如果发生错误,catch 块将捕获并处理该错误。

通过这种方式,你可以在 if 语句中实现与原始代码相同的逻辑,并根据需要处理多个逻辑分支。

4 个回答
 const params = {
          公共参数
        }
        let res
        if (addEditType.value === 'add') {
          res = await addUserApi(params).catch(() => {})
        } else {
          const editParams = {
            ...params,
            id: '数据id'
          }
          res = await editUserApi(editParams)
        }
        if(!res){
          return
        }
        if(!res.success){
          message.error(res.message)
          return
        }
        message.success(res.message)

?号前的是判断语句,?与:之间的是条件为真时的逻辑,:后的是条件为假时的逻辑

if(addEditType.value === 'add')
{ await addUserApi(data).catch(() => {}) }
else{ await editUserApi(formData) }
let request = addEditType.value === 'add' ? addUserApi :  editUserApi;
let params = addEditType.value === 'add' ? data :  formData;
await request(params)

如果你的新增跟修改维护的是一个表单数据,那么更简单

let request = addEditType.value === 'add' ? addUserApi :  editUserApi;
await request(formData)
// 定义方法
const save = async(addEditType)=>{
 if(addEditType.value === 'add'){
  return await addUserApi(data).catch(() => {})
 } else {
  return await editUserApi(formData)
 }
}
//调用方法
const res = await save(addEditType.value)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题