javascript - 模态回调中的异步操作

标签 javascript coffeescript meteor semantic-ui

我正在使用语义用户界面模式来允许用户插入数据。它有一个 onApprove 回调,允许您在出现任何问题时返回 false 以保持模式打开。我的数据被插入到数据库中,如果有任何错误,它会返回 false。如果在此异步操作期间出现错误,保持模式打开的最佳方法是什么?

这是我的代码(coffeescript):

$('#verification-modal')
.modal('setting', {
    detachable: false,
    onApprove: validateVerificationForm
    closable: false
})

 validateVerificationForm = () ->
      formData = $('.form').serializeArray()
      formatted = format($formData);

      ID_Details.insert(formatted, (errs, id) ->
         if errs
             false
         else
            true

显然,匿名函数正在将 true/false 返回到函数的上下文中。将其返回模式的最佳方法是什么?

最佳答案

您可以使用局部 react 变量:

var data = new ReactiveDict();

Template.modalTemplate.created = function() {
  data.set('isError', false);
};

Template.modalTemplate.helpers({
  isError: function() {
    return data.get('isError');
  },
});

var yourMethodWithAsync = function() {
  ...
  async(..., function(error) {
    if(error) {
      data.set('isError', true);
    }
    ...
  });
};

关于javascript - 模态回调中的异步操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24600998/

相关文章:

javascript - Reactjs 追加一个元素而不是替换

javascript - 使用 Meteor HTTP 在 Spotify API 上请求 access_token 时出现不支持的授权类型错误

javascript - Meteor - 添加用户自定义字段的方法不起作用

javascript - Onsen 在同一页面上使用导航器和侧边栏

javascript - 对特殊字符进行编码,传入url,javascript读取

coffeescript - 为什么在使用 "x"时没有检查函数参数 "undefined"是否有 "x?"?

javascript - Jasmine + coffeescript - Jasmine 跳过测试

javascript - 未找到 meteor 调用方法

javascript - 未捕获的类型错误 : Cannot read property 'createElementNS' of undefined

javascript - 如何在 WordPress 中实现 AJAX 评论