Функция обратного вызова недоступна при изменении queryTemplate в CSWP
Я работаю с веб-частями поиска контента, мне нужно запустить код, когда завершится процесс queryTemplate. Итак, я отправляю запрос через функцию
function sendQuery(myQuery) {
setQuery2(myQuery, function() {
console.log('Process done for setQuery2');
window.open('Customer.aspx', '_blank');
console.log('Process done');
});
}
function setQuery2( query, callbackFunction ) {
var ctrlA = $getClientControl( $("#containerDivA")[0] );
var ctrlB = $getClientControl( $("#containerDivB")[0] );
console.log('Set query');
var q = query;
q += ' proOrd:CurrR';
ctrlA.get_dataProvider().set_queryTemplate(q);
console.log('Running new query in A');
ctrlA.get_dataProvider().issueQuery();
ctrlB.get_dataProvider().set_queryTemplate(q);
console.log('Running new query in B');
ctrlB.get_dataProvider().issueQuery();
}
Ожидается, что окно window.open будет запущено, когда setQuery2 завершит процесс запроса службы, но он не работает, что-то не так с ним? Спасибо за вашу помощь.
1 ответ
Я только что понял, что вызов callbackFunction был удален, поэтому не достигает кода.
Просто сделайте вызов callbackFunction() после процесса. Если какой-либо дополнительный комментарий, пожалуйста, продолжайте.