SharePoint - Как получить значение поля, используя jsom + jslink без вызова async
-
10-12-2019 - |
Вопрос
Я довольно новичок в объектной модели JavaScript (jsom), и я хочу сделать простой вызов, чтобы получить значение поля.Очень легко в C #, но я не могу получить значение поля, даже если у меня есть список:
overrideContext.Templates.Item = customItem;
function customItem(context) {
var title = context.CurrentItem["Title"];
var img = "<img src='" + getImageUrl(1) + "' />";
return title + img;
function getImgUrl(classID) {
var clientContext = new SP.ClientContext();
var web = clientContext.get_web();
var sourceList = web.get_lists().getByTitle('ClassifiedImages');
var listItem = sourceList.getItemById(classID);
clientContext.load(listItem);
clientContext.executeQueryAsync(Function.createDelegate(this, function () { _returnParam = onSuccess(); }), Function.createDelegate(this, function () { _returnParam = onFail(); }));
return _returnParam;
}
.
Я не хочу использовать асинхронное исполнение.Мне нужна ценность, которая будет возвращена немедленно. Так как у меня есть список, почему я не могу просто сказать, что обратный список [«название»];??
Решение
Батативно CSOM позволяет только для асинхронных вызовов. Если вы хотите преодолеть это, вы можете использовать такие структуры, как http://spservices.codeplex.com/
Другие советы
У вас есть ссылка на элемент списка, но элемент фактического списка не выходит вам с сервера, пока вы не сделаете ExecuteVeryAsync.
Не до тех пор, как у вас есть какая-либо актуальная информация для работы.