0

我正在使用内容搜索 Web 部件,我需要在 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(); 
}

期望是在 setQuery2 完成查询服务的过程但它不工作时运行 window.open,它有什么问题吗?谢谢你的帮助。

4

1 回答 1

0

我刚刚意识到,对 callbackFunction 的调用已被删除,这就是为什么没有到达代码。

只需在处理后调用 callbackFunction() 即可。如果有任何补充意见,请继续。

于 2018-07-05T18:49:58.547 回答