Я попытался выполнить 4 функции в строке внутри блока dojo domready, а также я хочу установить булевский флаг после выполнения этих функций, но все функции запускается асинхронно и флаг устанавливается до завершения этой функции, то есть функции не ждут завершения предыдущей функции, все они только начинаются и переходят к следующему.Как выполнить функцию только после завершения предыдущих функций в dojo
require([ 'dojo/domReady!' ], function() {
boolean flag=false;
function1();
function2();
function3();
function4();
flag=true;
});
Как установить флаг только после выполнения всех 4-х функций
Я делюсь мой исходный код, сначала я уверен, выполнение первоначального вызова в додзё готов, где я устанавливаю OnLoad флаг ложь первого
require([ 'dojo/domReady!' ], function() {
onload = false;
getQuoteOption();
});
затем в функции «getQuoteOption()» я стреляя вызов AJAX, чтобы получить выборки некоторые данные JSon
function getQuoteOption(){
var reqParams = addQuoteReqParams(reqParams);//getting json input data
var request = require("dojo/request");
request.get(url, {
query : {
inputJson : reqParams
},
handleAs : "json",
preventCache : true
}).then(function(response) {
configureQuoteFieldData(response);
configureIrregularFrequencyData(response);
onload=true;
}, function(error) {
console.log(error);
});
}
в обратном вызове вызова ajax Я выполняю две функции configureQuoteFieldData (response) 'и' configureIrregularFrequencyData (response) ', а затем устанавливая флаг onload в true, считая, что две прежние функции выполнены полностью, но установлен флаг loadload до истины до этого.
для ссылки я привожу две функции также здесь
function configureQuoteFieldData(quoteFieldData) {
var registry = require("dijit/registry");
registry.byId('form_quoteData').set('value', quoteFieldData);//setting data to form
}
function configureIrregularFrequencyData(obj) {
var tmpArray = [];
for (var i in obj) {
tmpArray.push(obj[i]);
}
irregularPayMonths['irregularData'] = tmpArray;//saving to global variable
}
я попробовал это тоже .... – nithinalways
вы можете показать мне, как это делается – nithinalways