javascript - 如何在 Javascript 中的嵌套函数中传递参数

标签 javascript function prop

我们的代码当前有一个函数,可以在将对象保存到数据库时调用 toast 消息弹出窗口。

export function addAnimal(animalObject) {
  return function(dispatch) {
    showToastNotification(() => {
      return addAnimal(animalObject);
    }, dispatch);
  };
}


function showToastNotification(handleToastSave, dispatch) {    
  return handleToastSave()
    .then(() => {
      showMessage("this was a success")(dispatch);
    })
    .catch(() => {
      showMessage("Something went wrong!")(dispatch);
    })
    .finally(() => {
      saveMode(false)(dispatch);
    });
}

我的问题是我想将 message 字符串作为参数传递给 showToastNotification,如下所示:

export function addAnimal(animalObject) {
  return function(dispatch) {
    showToastNotification(("successfully added animal") => {
      return addAnimal(animalObject);
    }, dispatch);
  };
}

function showToastNotification(message, handleToastSave, dispatch) {    
  return handleToastSave()
    .then(() => {
      showMessage(message)(dispatch);
    })
    .catch(() => {
      showMessage("Something went wrong!")(dispatch);
    })
    .finally(() => {
      saveMode(false)(dispatch);
    });
}

这行不通。我不太熟悉这个函数中的粗箭头是如何工作的。是否可以将 prop 传递给 showToastNotification?

最佳答案

您将字符串放在回调参数所在的位置,而不是作为实际 showToastNotification 函数的第一个参数。只需将其移动到正确的位置即可:

showToastNotification("successfully added animal", () => {
  return addAnimal(animalObject);
}, dispatch);

关于javascript - 如何在 Javascript 中的嵌套函数中传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58226509/

相关文章:

javascript - Bootstrap-tour 与 Bootstrap 4 alpha 6 n.popover 不是一个函数

python - list.append() 似乎无法正常工作

javascript - 如何暂时禁用 Ajax 调用中的按钮?

javascript - 为网页实现类似 "server push"行为的最简单方法是什么?

javascript - Facebook 信使 API : Trouble setting up a webhook

javascript - 如何处理 iframe 中的 javascript 错误?

c++ - 数组操作 C++

javascript - 将 onclick 分配给函数问题

javascript - 使用 jQuery 将图像链接更改为 "#"

javascript - getAttribute() 不检索禁用的原始值