从JavaScript返回SharePoint列表GUID

时间:2017-12-14 21:10:56

标签: javascript sharepoint

以下代码用于按标题获取列表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());
    }

1 个答案:

答案 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...
}