4

SharePoint リストから情報を取得していて、そのデータを使用したいと考えています。問題は、使用する前に SharePoint サーバーからデータを更新する必要があることですが、executeQuery() を機能させることができません。ただし、 executeQueryAsync() を機能させることはできます。これが私のコードです:

// Global variables;
var context;
var web; 
var list;
var howManyItem = 0;
var allItems;
var randNums = [];

// Initializes the variables; Sets listname; Gets all items; 
function init(){

    context = new SP.ClientContext.get_current();
    web = context.get_web();

    // Enter the list name;
    this.list = web.get_lists().getByTitle('LetsTalkAdded');

    // Get item count in the query/list;
    var query = SP.CamlQuery.createAllItemsQuery();
    allItems = list.getItems(query);
    context.load(allItems, 'Include(Title)');
    context.executeQueryAsync(Function.createDelegate(this, this.success), Function.createDelegate(this, this.failed)); 
}

これはうまくいきますが、最後の行を次のように変更すると:

context.executeQuery(Function.createDelegate(this, this.success), Function.createDelegate(this, this.failed)); 

機能しなくなりましたが、非同期で実行することはできません。その場合、その情報に依存するコードの部分が機能しません。executeQuery() 関数が機能しないのはなぜですか?

4

2 に答える 2

-7

executeQueryAsync はグローバル変数を設定できません。唯一の用途は、ユーザーにアラートを表示することです。それ以外には使い道がありません。

于 2012-10-11T20:15:01.360 に答える