Return 使用延迟的列表项目 ID
Return list item id using deferred
如何使用如下代码return 值?我需要将值分配给任何变量。它适用于警报。但我需要检索值。
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;
}
由于该函数使用异步处理,您不能return从中获取值,而是需要使用像
这样的回调方法
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
})
另读
- How do I return the response from an asynchronous call?
如何使用如下代码return 值?我需要将值分配给任何变量。它适用于警报。但我需要检索值。
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;
}
由于该函数使用异步处理,您不能return从中获取值,而是需要使用像
这样的回调方法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
})
另读
- How do I return the response from an asynchronous call?