2015-12-09 2 views
0

Я создаю пакет npm и пытаюсь запустить один из методов или подождать, пока не будет вызван и не закончен другой метод. Fe. в следующем:Выполнить метод после завершения первого метода

var package = require('myNpmPackage'); 
package.method1(options); 
... 

позже, возможно, в другом файле

package.method2(); 

В приведенном выше примере. Предположим, что package.method1() устанавливает общий пакет, подключаясь к серверу, вроде как мангуста и монго. Это означает, что package.method2() будет работать до package.method1() может успешно настроить все. Как я могу получить package.method2() для выполнения, только после ожидания package.method1(), чтобы закончить?

ответ

1

Одна вещь, которая может работать, чтобы использовать библиотеку асинхронной хотя это будет работать только при условии, что они находятся в одном файле

Из документации на их сайте:

async.auto(
    { 
     package1: function (callback) { 
      // call package1 
      callback(); 
     }, 
     package2: [ "package1", function (callback) { 
      // call package2 
      callback(); 
     }] 
    }, function (err/*, r*/) { 
    } 
); 

ссылка здесь : https://github.com/caolan/async#auto

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