7.05 - choosing connection objects at run-time.js

来自「JS设计模式源代码」· JavaScript 代码 · 共 37 行

JS
37
字号
/* XhrManager singleton. */var XhrManager = {  createXhrHandler: function() {    var xhr;    if(this.isOffline()) {      xhr = new OfflineHandler();    }    else if(this.isHighLatency()) {      xhr = new QueuedHandler();    }    else {      xhr = new SimpleHandler()    }        Interface.ensureImplements(xhr, AjaxHandler);    return xhr  },  isOffline: function() { // Do a quick request with SimpleHandler and see if    ...                   // it succeeds.  },  isHighLatency: function() { // Do a series of requests with SimpleHandler and    ...                       // time the responses. Best done once, as a                               // branching function.  }};/* Usage. */var myHandler = XhrManager.createXhrHandler();var callback = {   success: function(responseText) { alert('Success: ' + responseText); },   failure: function(statusCode) { alert('Failure: ' + statusCode); } };myHandler.request('GET', 'script.php', callback);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?