javascript - 仅当前一个功能已成功完成时,如何正确触发此功能?

标签 javascript jquery html parse-platform

我正在尝试执行一系列操作,使用户注销,然后使用 Javascript 中的解析将其重定向到主页。逻辑如下:

jQuery(document).ready(function() {
    $("#logout").on("click", function (e) {
      //logout current user
      if ( Parse.User.current() ) {
        Parse.User.logOut();

        // check if really logged out
        if (Parse.User.current()) {
          console.log("Failed to log out!");
        } else {
        // redirect page

          window.location.replace("home-screen.html");
        }
      }
    });
  });

但是大多数时候,当我注销,回到我的解析服务器时,用户 session 并没有被破坏。但我注意到,当我删除 window.location 操作时,用户 session 每次都会成功销毁。

那么我如何编辑我的函数来表示“单击时,注销用户,并且只有成功完成后才重定向页面?

最佳答案

Parse.User.logout() 返回一个 promise 。成功解决 promise 后重定向用户。

jQuery(document).ready(function() {
    $("#logout").on("click", function (e) {
      //logout current user
      if ( Parse.User.current() ) {
        Parse.User.logOut()
          .then(function () {
            window.location.replace("home-screen.html");
          });
      }
    });
  });

关于javascript - 仅当前一个功能已成功完成时,如何正确触发此功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36319465/

相关文章:

javascript - 使用 jQuery 循环遍历表格 - 计算每行的单元格

javascript - 使用 jquery 在 CSS 中设置背景图像

jquery - 响应式 slider 中的绝对位置内容

javascript - 使用 ajax 向 Node.js 服务器发送 POST 请求

javascript - 选择多个下拉选项后运行函数

javascript - 在 jQuery 中使用向下箭头键选择其他元素底部的元素

javascript - 为什么 JSLint 说这个 jQuery 中缺少分号?

javascript - 更改主题样式表时是否可以添加过渡效果?

javascript - Accordion 中的鼠标悬停和鼠标移出

html - 来自组件的 Angular 4 模式验证