Подготовить вызов метода для выполнения - PullRequest
0 голосов
/ 20 июля 2011

Я хочу отложить подготовленный вызов метода (подготовленный = все параметры уже установлены) для выполнения. Пример:

У меня есть текстовое поле со следующим методом прослушивателя:

var storedRequest = null;
function doAjaxRequest() {
    //if there is no request at this moment, do the request
    //otherwise: store the request and do nothing

} 
//will be executed after a request is done
function callbackAjaxRequestComplete() {
    //is storedRequest != null --> Execute that request (the last one)
}

Итак, есть ли возможность сохранить вызов метода PREPARED для выполнения?

Ответы [ 2 ]

4 голосов
/ 20 июля 2011

var preparedMethod = method.bind(null, param1, param2, param3 /*, ... etc */);

Function.prototype.bind [документы]

3 голосов
/ 20 июля 2011

Вы можете сделать что-то вроде этого:

var preparedOperation = function() {
  return actualOperation(param1, param2, param3);
};

Тогда вызов в любое время «prepareOperation» будет вызовом вашей действительной функции.

Библиотека Functional.js имеет несколько интересных кодов поддержки для такого рода вещей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...