Когда Dojo нужна переменная args? - PullRequest
0 голосов
/ 25 июня 2009

Вы должны передать переменную args анонимной функции, но анонимной функции явно не нужна переменная args, поэтому вы должны запомнить, когда Dojo нужна переменная args, но страница справки Dojo не говорит! Итак, когда Dojo нужна переменная args?

var init = function(){
var contentNode = dojo.byId("content");
dojo.xhrGet({
    url: "js/sample.txt",
    handleAs: "text",
    load: function(data,args){
    // fade out the node we're modifying
    dojo.fadeOut({
        node: contentNode,
        onEnd: function(){
        // set the data, fade it back in
        contentNode.innerHTML = data; 
        dojo.fadeIn({ node: contentNode }).play();    
        }
    }).play();
    },
    // if any error occurs, it goes here:
    error: function(error,args){
    console.warn("error!",error);
    }
});
}; 
dojo.addOnLoad(init);

1 Ответ

2 голосов
/ 26 июня 2009

Чтобы уточнить: вы ссылаетесь на аргумент "args", который вы используете в своем примере кода, который является частью определений функций для обратных вызовов "load} и" error ":

Вам нужна только переменная args, если вам нужно ее использовать. Самому додзё это не нужно. Обычно вам это не нужно. Первый аргумент должен быть результатом, который вы ищете.

Однако, если вам нужен доступ к необработанному объекту XMLHttpRequest, его будет содержать args.xhr.

Точно так же, если вы хотите получить доступ к исходному объекту, который вы передали в dojo.xhrGet (потому что вы сохранили какое-то состояние), вы можете получить его в args.args (по этой причине я обычно называю этот аргумент ioArgs так что тогда это будет ioArgs.args).

...