Как работает закрытие Javascript на примере диалога SAPUI5 dialog.attachAfterClose ()

1

Я хотел бы реорганизовать фрагмент кода как следующий, но я думаю, что у меня возникли проблемы с пониманием закрытия здесь.

Оба параметра requestParam и reqParam не undefined при reqParam функции обратного вызова после закрытия диалога.

_newConnection: function() {
    var reqParam = this.functionOne();
    var requestParam = {data: "data"};
    var oDialog = new sap.m.Dialog()
    oDialog.attachAfterClose(null, callbackFunction.bind(reqParam, requestParam));

}

callbackFunction: function(requestParam, reqParam) {
    if (requestParam.data) {
        reqParam.setId(requestParam.data.connectionId);
    } else {
        reqParam.setId("");
    }
    this.fireSomeThingElse({
        "change" : "change"
    });
}
Теги:
sapui5

1 ответ

0

первый аргумент bind будет служить this, правильно:

oDialog.attachAfterClose(null, callbackFunction.bind(null, reqParam, requestParam));

но это не вызывает неопределенные аргументы. Я не могу решить вашу точную проблему из-за отсутствия контекста, но я делаю это, чтобы связать операции с подготовленными аргументами

var _newConnection = function() {
    callbackFunctionBinded = callbackFunction.bind(null, 1, 2);
    callbackFunctionBinded()
}

var callbackFunction = function(arg1, arg2) {
    console.log(arg1, arg2)
}  // => 1 2

Ещё вопросы

Сообщество Overcoder
Наверх
Меню