What are the drawbacks of using synchronous ajax call?

前端 未结 4 1311
醉酒成梦
醉酒成梦 2020-11-29 12:41

This question could surely be applied to jQuery but in this case I am referring to Prototype. In the Prototype doc it says,

Since synchronous usage is

4条回答
  •  一生所求
    2020-11-29 13:14

    Let's remind you that JavaScript is single-threaded

    A synchronous IO call BLOCKS THE ENTIRE THREAD

    A simple fix is to use asynchronous style programming using callbacks.

    Customer = Class.create({     
        initialize: function(customerId, cb) { 
            new Ajax.Request('some-url', {
                method: 'get',
                parameters: {
                    customerId: customerId
                },
                onSuccess: (function() {
                    this.setCustomerInfo.apply(this, arguments);
                    cb.apply(this, arguments);
                }).bind(this)
            }
        },
        setCustomerInfo: function(response) {
            //for the sake of this example I will leave out the JSON validation
            this.customerInfo = response.responseText.evalJSON();
        }   
    });
    
    var c = new Customer(1, function() {
         document.write(customer.customerInfo.firstName);
    });
    

提交回复
热议问题