- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不知道如何从下面的方法中获取返回值。我正在将项目添加到数组中。那很好用。我就是无法获取函数返回的数组。
var termList = loadTerms(termSetId);
function loadTerms(termSetId) {
var termList = [];
var taxSession = SP.Taxonomy.TaxonomySession.getTaxonomySession(clientContext);
var termStore = taxSession.getDefaultSiteCollectionTermStore();
var termSet = termStore.getTermSet(termSetId);
var terms = termSet.getAllTerms();
clientContext.load(terms, 'Include(Name)');
clientContext.executeQueryAsync(
function () {
for (var i = 0; i < terms.get_count(); i++) {
var term = terms.getItemAtIndex(i);
termList.push(term);
console.log(String.format('12 Term : {0}', term.get_name()));
}
// At this point TermList has the values I need. How do I return it to the caller?
});
}
最佳答案
这是不可能的,因为您不能从同步方法中的异步调用返回。但是你可以通过传递一个回调函数来得到你想要的。
var termList = loadTerms(termSetId);
function loadTerms(termSetId, callback) {
var termList = [];
var taxSession = SP.Taxonomy.TaxonomySession.getTaxonomySession(clientContext);
var termStore = taxSession.getDefaultSiteCollectionTermStore();
var termSet = termStore.getTermSet(termSetId);
var terms = termSet.getAllTerms();
clientContext.load(terms, 'Include(Name)');
clientContext.executeQueryAsync(
function() {
for (var i = 0; i < terms.get_count(); i++) {
var term = terms.getItemAtIndex(i);
termList.push(term);
console.log(String.format('12 Term : {0}', term.get_name()));
}
callback(termList); // callback here
});
}
loadTerms("termSetId", function(returnedValue) {
console.log(returnedValue); //You get the value here.
});
关于javascript - 如何从 executeQueryAsync 获取返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46985962/
首先对糟糕的标题感到抱歉,只是想不出更好的。 我是 JavaScript 的新手,这可能是我不明白这个的唯一原因 - 请不要攻击我。 我想做的只是使用 JavaScript 客户端对象模型从 Shar
如何将嵌套 context.executeQueryAsync 与 Deferred 结合使用?下面是我的代码,我将解释我到底在寻找什么: 代码 function getValues() {
我不知道如何从下面的方法中获取返回值。我正在将项目添加到数组中。那很好用。我就是无法获取函数返回的数组。 var termList = loadTerms(termSetId); function l
Aight..this Sharepoint using Javascript..我正在使用 Alerts 来调试从内容编辑器 Web 部件运行的 Javascript;该脚本在 Assets 库中。
我正在尝试使用 Javascript ECMA 脚本从内部调用的成功方法中检索参数并执行 executeQueryAsync。 我按照这里的建议尝试了 http://www.learningshare
我有一个函数可以从托管元数据服务获取条款。当我调用函数一次时,一切正常。但如果我叫它更多次。它给出了 fatal error “集合尚未初始化...”实际上我使用单页应用程序,它仅在我开始打开网站
我正在开发一项连接到 Sharepoint 以检索数据的服务。我想让它尽可能异步。 但是,它看起来像 Client Components SDK用于标准 .NET 的 Microsoft.Sharep
我一直在学习客户端对象模型并遇到了方法 executeQueryAsync .我发现有很多方法可以调用此方法。我发现的一些是这些: var context = new SP.ClientContext
我是一名优秀的程序员,十分优秀!