0

我是 Node.js 的新手。

我试图弄清楚如何使用module.export.

文件auth.js

const request = require('request');
request.post(
    'http://192.167.1.118/api/v1/auth/request',
    {
        form: {
            application: 'car',
            user: 'car',
        },
    },
    (error, res, body) => {
        if (error) {
            console.error(error);
            return;
        }
        //console.log(`statusCode: ${res.statusCode}`)
        body = JSON.parse(body);
        //console.log(body);
    }
);
module.exports.request = request;

文件index.js

const aaa = require('./auth');
console.log(aaa.request);
4

1 回答 1

-1

您可能需要将该基于回调的请求转换为承诺。

制作一个单独的函数,它返回你的 api 响应的承诺。

auth.js

const request = require('request');

const sendRequest = () =>
    new Promise((resolve, reject) =>
        request.post(
            'http://192.167.1.118/api/v1/auth/request',
            {
                form: {
                    application: 'car',
                    user: 'car',
                },
            },
            (error, res, body) => {
                if (error) {
                    reject(error);
                }
                body = JSON.parse(body);
                resolve(body);
            }
        )
    );

module.exports.request = sendRequest;

index.js

const { request } = require('./auth');

request().then(body => {
    console.log(body);
}).catch(error => {
    console.error(error); // <- error
});
于 2020-07-29T13:14:38.177 回答