以下代码用于按标题获取列表GUID。我无法弄清楚的是如何让代码返回该值,以便将其分配给变量。
我对JavaScript很新,所以细微差别给我带来麻烦。我理解代码中发生的大部分内容。我在成功函数中添加了alert()
但是,我无法确定将return语句放在何处以获取GUID值。
var list;
function getListId(listTitle) {
var context = new SP.ClientContext.get_current();
var web = context.get_web();
list = web.get_lists().getByTitle(listTitle);
context.load(list, 'Id');
context.executeQueryAsync(Function.createDelegate(this,success), Function.createDelegate(this,error));
}
function success() {
var listId = list.get_id();
// console.log(listId);
alert(listId);
return listId;
}
function error(sender, args) {
alert('Request failed. ' + args.get_message() +
'\n' + args.get_stackTrace());
}
答案 0 :(得分:4)
这是异步的,所以你不能在你似乎在谈论的意义上“回归”它。但是,您通常会执行从listId
函数中执行处理success
所需执行的代码:
var list;
function getListId(listTitle) {
var context = new SP.ClientContext.get_current();
var web = context.get_web();
list = web.get_lists().getByTitle(listTitle);
context.load(list, 'Id');
context.executeQueryAsync(Function.createDelegate(this,success), Function.createDelegate(this,error));
}
function success() {
var listId = list.get_id();
// console.log(listId);
alert(listId);
handleListId(listId);
}
function error(sender, args) {
alert('Request failed. ' + args.get_message() +
'\n' + args.get_stackTrace());
}
function handleListId(listId) {
//DO STUFF WITH YOUR listId HERE...
}