我正在从共享点列表中获取信息,然后我想使用该数据。问题是我需要在使用数据之前从 Sharepoint 服务器更新数据,但我无法让 executeQuery() 工作。我可以让 executeQueryAsync() 工作。这是我的代码:
// Global variables;
var context;
var web;
var list;
var howManyItem = 0;
var allItems;
var randNums = [];
// Initializes the variables; Sets listname; Gets all items;
function init(){
context = new SP.ClientContext.get_current();
web = context.get_web();
// Enter the list name;
this.list = web.get_lists().getByTitle('LetsTalkAdded');
// Get item count in the query/list;
var query = SP.CamlQuery.createAllItemsQuery();
allItems = list.getItems(query);
context.load(allItems, 'Include(Title)');
context.executeQueryAsync(Function.createDelegate(this, this.success), Function.createDelegate(this, this.failed));
}
这工作正常,但是当我将最后一行更改为:
context.executeQuery(Function.createDelegate(this, this.success), Function.createDelegate(this, this.failed));
它不再有效,但我无法异步运行它们。如果我这样做,我的代码中依赖于该信息的部分将不起作用。为什么 executeQuery() 函数不起作用?
最佳答案
我一直在尝试使用 ExecuteQuery 而不是 Async 版本来做类似的事情。从我发现的情况来看,JSOM 不支持非异步版本。所以你必须使用异步版本。
关于javascript - 无法让 ClientContext.executeQuery() 在 javascript 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12147472/