Как определить приоритетное время приложения?

Вы можете создать модуль mongoUtil.js, который имеет функции как для подключения к mongo, так и для возврата экземпляра mongo db:

var MongoClient = require( 'mongodb' ).MongoClient;

var _db;

module.exports = {

  connectToServer: function( callback ) {
    MongoClient.connect( "mongodb://localhost:27017/marankings", function( err, db ) {
      _db = db;
      return callback( err );
    } );
  },

  getDb: function() {
    return _db;
  }
};

Чтобы использовать его, вы сделаете это в своем app.js:

var mongoUtil = require( 'mongoUtil' );

mongoUtil.connectToServer( function( err ) {
  // start the rest of your app here
} );

И тогда, когда вам нужен доступ к mongo где-нибудь, вы можете сделать это:

var mongoUtil = require( 'mongoUtil' );
var db = mongoUtil.getDb();

db.collection( 'users' ).find();

Причина этого в том, что в узле, когда модули require 'd, они только загружаются / получаются один раз, так что вы только когда-нибудь закончите с одним экземпляром _db, а mongoUtil.getDb() всегда вернет тот же самый экземпляр.

Примечание, код не проверен.

0
задан Fantômas 5 March 2019 в 10:22
поделиться

1 ответ

Я думаю, что лучшим вариантом является использование методов обратного вызова в течение жизненного цикла вашей деятельности. Время начала - onCreate () первого действия, которое вы показываете своему пользователю. Время окончания может быть немного сложнее. Прежде всего, если у вас есть несколько действий, пользователь может выйти из любого из них, поэтому вам нужно отслеживать текущее открытое действие и отправлять время окончания, только если следующее действие не появляется. Вторая проблема в том, какой метод обратного вызова следует использовать? onPause () не гарантированно вызывается, а onDestroy () не будет вызываться до тех пор, пока приложение не будет очищено от последних. Таким образом, вероятнее всего, onStop () - правильное место.

Или вы можете использовать обратные вызовы вашего приложения . Просто унаследуйте класс Application и используйте его обратные вызовы для отслеживания времени.

0
ответ дан RexSplode 5 March 2019 в 10:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: