@z2312

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

Задача экспортировать модуль с ее функциями (treeCatalog, catalogCreate в будущем их будет больше) данные функции должны возвращать некие переменные (cate, result) формируемые внутренними функциями.
Пробовал создавать сессию отдельно при вызове функции: неудачно.
Предполагаю что нужно модифицировать внутренние функций Callback , натолкните в какую сторону копать

var MagentoAPI = require('magento');
var fs = require('fs');

var magento = new MagentoAPI({
  host: 'host.ru',
  port: 80,
  path: '/api/xmlrpc/',
  login: 'login',
  pass: 'pass'
});

// Открываем сессию получаем sessId
magento.login(function(err, sessId) {
  if (err) {
    console.log(err)    
    // deal with error
    return;
  }

//Получить список категорий
function treeCatalog (id){
 
magento.catalogCategory.tree({
  parentId:   id,  /* optional */
  
  //storeView:  1  /* optional */
}, function (err, result) {
if (err != null) {
  console.log(err)} 
  else{
     
     var cate = []

    for (i = 0; i < result.children.length; i++){
              var categor = {name:'', id:''}              
              categor.name = result.children[i].name
              categor.id = result.children[i].category_id
              cate.push (categor)
          }
        }
    });

}

//создать категорию
function catalogCreate (opt){

var catalogData = {
name: opt.name,
include_in_menu: 1,
available_sort_by: [1],
is_active: 1,
position: 1,
default_sort_by: 1,
}

magento.catalogCategory.create({
  categoryId: opt.id,
  data: catalogData,
 // storeView:  val   /* optional */
}, function (err, result) {
if (err != null) {
  console.log(err)} 
  else{    
   console.log("Catalog --" + '\n'+ result)
   }; 
});

}

});
  • Вопрос задан
  • 184 просмотра
Пригласить эксперта
Ответы на вопрос 1
moserevg
@moserevg
Человек.
Больше информации здесь.

// mathModule.js
var mathModule = {};

mathModule.sum = function(a, b){
  return a + b;
};

module.exports = mathModule;

// app.js
var mathModule = require('./mathModule.js');

console.log(mathModule.sum(1,2));
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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