Не удается получить более 50 записей из Azure MobileServiceClient (Node.js)

angularjs node.js apache cordova azure

177 просмотра

1 ответ

51 Репутация автора

Поэтому я создаю приложение Apache Cordova (Android) на основе angularjs и использую библиотеку WindowsAzure MobileServiceClient для извлечения данных из моего Easy Table, созданного в базе данных SQL.

Это работает! Пока я не хотел бы получить более 50 записей. Поэтому я добавил .take (100) в таблицу чтения. Еще 50 записей ... Тогда я подумал, может быть, функция take вообще не работает, поэтому я изменил сумму на 5, и у меня только 5 записей. Так что функция take работает, но не более 50 записей.

Так как это бэкэнд node.js, как мне увеличить размер страницы?

Вот мой текущий код:

msc.tables.pokemonType = null;
msc.tables.pokemon = null;

msc.init = function () {
    console.log('MobileServiceClient initializing...');

    var mobileServiceClient = new WindowsAzure.MobileServiceClient("https://blablablabla");

    msc.tables.pokemonType = mobileServiceClient.getTable('PokemonType');
    msc.tables.pokemon = mobileServiceClient.getTable('Pokemon');

    console.log('MobileServiceClient initialized!');
}


msc.getAllPokemonTypes = function() {
    console.log('getAllPokemonTypes - called');
    return msc.tables.pokemonType.read().then(function (pokemonTypes) {
        console.log('getAllPokemonTypes - done');
        return pokemonTypes;
    }, msc.handleError);
}

msc.getAllPokemons = function () {
    console.log('getAllPokemons - called');
    return msc.tables.pokemon.take(100).read().then(function (pokemons) {
        console.log('getAllPokemons - done');
        return pokemons;
    }, msc.handleError);
}
Автор: Lars Stolwijk Источник Размещён: 18.07.2016 04:09

Ответы (1)


1 плюс

12547 Репутация автора

Решение

По данному исходному коду таблицы операций мобильных приложений в Node.js, то операция чтения , в конечном счете принимает , context.queryкоторый является queryjsобъектом, который содержит take()функцию , которая может ограничить количество элементов , возвращенных на указанный номер.

Кроме того, эта take()функция содержится в sdk сервера мобильных приложений, поэтому она не работает с кодом конца вашего клиента.

Вы можете внести некоторые изменения в свои скрипты Easy Tables, например

table.read(function (context) {
    context.query.take(100);
    return context.execute();
});
Автор: Gary Liu - MSFT Размещён: 19.07.2016 05:40
Вопросы из категории :
32x32