从JavaScript返回SharePoint列表GUID

acr*_*out 1 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());
    }
Run Code Online (Sandbox Code Playgroud)

Mat*_*nks 5

这是异步的,因此您无法以您似乎在谈论的意义“返回”它。但是,通常要做的是执行在函数中处理listIdfrom 所需执行的代码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...
}
Run Code Online (Sandbox Code Playgroud)