0

我正在使用 InboxSDK 的 presending 事件在发送电子邮件之前检查条件。对于 selectedProject!==0 的情况,未发送电子邮件。有没有人有意见。

composeView.on('presending', (event) => {
  if(selectedProject!==0){
    //console.log(selectedProject);
    composeView.send();

  }else{
    console.log(selectedProject);
    event.cancel();
    console.log('please select a project for the email');
    alert('please select a project for the email');
    initDropdown();//show the dropdown to select projects
  }
4

1 回答 1

0

如果要发送,则从预发送处理程序开始,您需要通过返回来结束函数,如果您调用composeView.send();它,则会再次调用预发送处理程序。

composeView.on('presending', (event) => {
  if(selectedProject !== 0){
    return;
  } else {
    ...
    event.cancel();
    ...
  }

如果您想稍后发送,您需要设置一个在发送事件上检查的标志以避免再次运行它。

composeView.on('presending', (event) => {
  if(myForceSendFlag || selectedProject !== 0){
    return;
  } else {
    ...
    event.cancel();
    ...
  }

我知道这有点晚了,但我希望这会有所帮助。

于 2020-08-27T21:36:07.733 回答