之前我已经看过并写过这种代码,我知道它有一个名字,但我记不起来了。在JS中,您有一对键/值对响应以及如何为该响应做些什么。类似的东西:
// Some base class
Foo.extend({
handleRequest: function () {
// Make some XHR request
makeRequest({
onSuccess: function (response) {
// will call acceptRequest if response.status is accept
this[this._responders[response.status]]();
}.bind(this);
});
},
acceptRequest: function () {},
denyRequest: function () {},
_responders: {
accept: "acceptRequest",
deny: "denyRequest"
}
});