Как вызвать функцию маршрута внутри другого маршрута? - PullRequest
0 голосов
/ 12 октября 2019

В маршруте определена функция polygone.js:

var express = require('express');
var router = express.Router();
...
function transformPolygoneFromDbToText(polygoneArrayTxt, cb) {
    var sommets = JSON.parse(polygoneArrayTxt) , ret = "" , separator = "";
    if (polygoneArrayTxt != "") {
        async.eachOf(sommets, function (sommet, position, cb_) {
            var point = JSON.parse(sommet);
            var longitude = point[0], latitude = point[1];
            ret += separator + longitude + " " + latitude;
            separator = ",";
            cb_();
        }, function () {
            cb(ret);
        });
    }
    else
        cb("");
}

module.exports = router;

Я хочу вызвать функцию transformPolygoneFromDbToText из другого route. Как это сделать?

1 Ответ

2 голосов
/ 12 октября 2019

Для функции transformPolygoneFromDbToText, если у вас есть какие-либо зависимости, переместите ее в отдельный файл, чтобы, если вы можете использовать его где угодно, то что.

создайте имя файла utils.js

function transformPolygoneFromDbToText(polygoneArrayTxt, cb) {
    var sommets = JSON.parse(polygoneArrayTxt) , ret = "" , separator = "";
    if (polygoneArrayTxt != "") {
        async.eachOf(sommets, function (sommet, position, cb_) {
            var point = JSON.parse(sommet);
            var longitude = point[0], latitude = point[1];
            ret += separator + longitude + " " + latitude;
            separator = ",";
            cb_();
        }, function () {
            cb(ret);
        });
    }
    else
        cb("");
}

module.exports = { transformPolygoneFromDbToText }

и импортируйте, как показано ниже, в файл маршрута и экспортируйте маршрут, чтобы использовать его в app.js или index.js

const { formatErrorResponse } = require('./utils');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...