2015-02-08 2 views
0

В моем webapp я использую бэкэнд SailsJS для получения данных из API (facebook graph api), и извлеченные данные будут сохранены в базе данных на бэкэнд, когда она закончится.Состояние потока SailsJS от backend до frontend

Итак, мой вопрос в том, когда я делаю запрос на бэкэнд, чтобы сделать всю эту работу, как показать пользователю, сколько из них было выполнено. На данный момент все, что я могу показать, это значок загрузки. Но мне нравится показывать что-то вроде 1% завершено, 89% завершено как таковое

приложение sailsjs создает 1000 записей на бэкэнде. Правильно. и когда каждая запись была создана, мне нужно знать, в то время как im на интерфейсе. Если вы понимаете, о чем я ? Мне нужен ответ на веб-браузер, говоря 1/1000 запись была создана

Пожалуйста, помогите мне здесь, если вы знакомы со структурой

Приветствия.

+1

Вы sails.js api делаете что-то сложное с вашими данными? Или вы пытаетесь обобщить вопрос, чтобы решить другую проблему. Я спрашиваю, потому что простое сохранение базы данных, вероятно, займет меньше времени, чем путешествие самого запроса. – Meeker

+0

Вы не получили мой вопрос. Мне нужен способ передачи данных во внешний интерфейс. Это оно. Знаете ли вы, как это сделать в sailsJS –

+1

да, но ваш вопрос не содержит никакой полезной информации, для которой можно привести пример. Sails использует экспресс поверх узла. Вы можете просто использовать response.write() как метод. Но вам нужно событие, которое вызовет это, и даже не было уверенным, является ли это правильным инструментом для вашего приложения. – Meeker

ответ

1

По существу вы можете прокручивать запись в некотором роде, а затем использовать response.write() для потоковой передачи обновлений пользователю. Это грубый пример:

function doStuff(req,res){ 

// You can use response.write() to do what you need. 
var processedRecords = 0; 
var totalRecords = 1000; 

res.status(200); 
while (processRecords < totalRecords){ 

    Model.create(--create model stuff-- , function(){ 
     processedRecords++; 
     res.write('Finished ' + processedRecords + 'of ' + totalRecords); 
    }) 

    } 
    return res.end(); 

} 
+0

Все хорошо сейчас, но запрос, который я отправляю с помощью JQuery, не получает это сообщение до последнего момента, –

+0

jQquery просто плюнуть все, когда сервер отправит res.ok() Пожалуйста, помогите –

+0

Дело в том, когда я делаю запрос GET используя ссылку веб-браузера в адресной строке, я вижу ответы сервера, отображающиеся на экране. Но я не могу получить то же самое, что и с функцией jQuery GET. Пожалуйста, помогите –

Смежные вопросы