繁体   English   中英

我怎样才能告诉我的 javascript 等到服务器完成?

[英]How can I tell my javascript to wait until the server is done?

在我的 web 应用程序中,我有一个页面,用户可以在其中从他们的图书馆复制书籍。

在网站上,当用户点击copy按钮时,应用程序会执行这段 Backbone.js 代码:

clonebook: function () {
    var self = this;
    this.book.clone().then((r) => {
        self.model.collection.add(r);
    });
},
    

在我的 SQL 服务器数据库中, book如下所示:

bookId、bookTitle、authorId、libraryId、rowOrderNumber

问题是,如果用户试图通过点击copy按钮来非常快速地复制多本书,则rowOrderNumber可能会失控。

有没有办法告诉 Backbone 克隆方法等到数据库或服务器完成克隆过程后再继续下一个过程?

谢谢!

最常见的 UX 模式是在流程开始时禁用按钮,并在完成时启用。

clonebook: function () {
    var self = this;
    // disable clone button
    this.book.clone().then((r) => {
        self.model.collection.add(r);
        // enable clone button
    });
},

我没有使用主干,但是

clonebook: function () {
    var self = this;
    self.loading = true
    this.book.clone().then((r) => {
        self.model.collection.add(r).then(() => {
          self.loading = false
        });
    });
},

不是你必须以某种方式使用这个loading来禁用按钮

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM