1

how can I return value using code like below? I need to assign the value to any variable. It works with alerts. But I need to retrieve value.

function getLookupIDValue(criterium, list) {
    var promise = execCamlQuery(criterium, list);
    var value;
    promise.done(
        function (criteriumCollectionListItem) {
            var criteriumListItemEnumerator = criteriumCollectionListItem.getEnumerator();
            while (criteriumListItemEnumerator.moveNext()) {
                var criteriumListItem = criteriumListItemEnumerator.get_current();
                value = criteriumListItem.get_id();
            }
        }).fail(function (sender, args) {
        }
    );
    return value;
}

1 Answers1

0

As the function is using asynchronous processing, you can't return a value from it, instead you need to use a callback method like

function getLookupIDValue(criterium, list, callback) {
    var promise = execCamlQuery(criterium, list);
    var value;
    promise.done(function (criteriumCollectionListItem) {
        var criteriumListItemEnumerator = criteriumCollectionListItem.getEnumerator();
        while (criteriumListItemEnumerator.moveNext()) {
            var criteriumListItem = criteriumListItemEnumerator.get_current();
            value = criteriumListItem.get_id();
        }
        callback(value)
    }).fail(function (sender, args) {});
    return value;
}

getLookupIDValue(criterium, list, function (value) {
    //do the operations that depends on value here
})

Also Read

Community
  • 1
  • 1
Arun P Johny
  • 384,651
  • 66
  • 527
  • 531