我怎样才能改进我的nodeJS程序

时间:2017-11-11 22:32:03

标签: node.js callback promise

我使用了承诺,回调和外部API,但是我不确定这是使用它们的最佳方式。

我的程序使用langae Pivot和systran.io API将单词从langage转换为另一种语言。

函数Translate将翻译单词并通过回调发送响应。

然后在POST请求中我使用promises来链接任务。

var express = require('express');
var request = require('request');

var router = express.Router();

router.post("/", function(req, res) {
    console.log
    var resultat
    var promise = new Promise((resolve, reject) => {
        translate(req.query.source, "en", req.query.content, function(resa) {
            resolve(resa);

        })
    }).then(function(resolve) {
        console.log(resolve);
        translate("en", req.query.target, resolve, function(resa2) {
            console.log(resa2);

        })
    });
});

function translate(source, target, content, callback) {
    let result;
    result = request("https://api-platform.systran.net/translation/text/translate?input=" + content + "&source=" + source + "&target=" + target + "&key=xxxxxxxx-783f-4f90-aea4-7fb357016647", function(err, data, body) {
        body = JSON.parse(body);
        console.log(body);

        callback(body.outputs[0].output)
    })
}
module.exports = router;

有没有最好的方法来编写我的程序已经有效?

0 个答案:

没有答案