Функция обратного вызова недоступна при изменении 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() после процесса. Если какой-либо дополнительный комментарий, пожалуйста, продолжайте.

Другие вопросы по тегам