Я создаю список, используя API REST. В моем коде JavaScript я написал что-то вроде этого:Закрытие showWaitScreenWithNoClose в SharePoint CSOM
// If I declare 'waitDialog' then it is not get closed by
// calling 'waitDialog.close()'. Without any declaration it works.
var waitDialog;
function createList() {
// Show wait dialog
waitDialog = SP.UI.ModalDialog.showWaitScreenWithNoClose("Please wait...", "Please wait...", 100, 300);
jQuery.ajax({
// List data
},
success: doSuccess,
error: doError
});
}
function doSuccess(data) {
waitDialog.close(); // Close wait dialog
}
function doError(data, errorCode, errorMessage) {
waitDialog.close(); // Close wait dialog
}
Если я объявляю waitDialog
с утверждением var waitDialog;
тогда он делает не работы по телефону waitDialog.close()
. Без какой-либо декларации он работает, и диалог закрыт. Я нашел this question, который подробно описывает разницу между использованием var
, но ничего, что бы прояснить этот случай.
Любая идея, почему она работает без объявления, а не с декларацией?
Какой смысл из eval? – JJJ