Запрос - вернуть элемент - PullRequest
0 голосов
/ 19 марта 2020

Sup!

Итак, начнем с того, что поставлю мой код и ошибку, которая у меня есть.

Вот мой код:

login(token = 'string') {
         if (!token) throw "Veuillez entrer un token"
         request(
            {
                url : this.baseURL+this.endpoints[2],
                headers : {
                    "auth" : token
                }
            },
            function (err, response, body) {
                // Do more stuff with 'body' here
                if (err) throw err
                if (body.status == 401) throw "Le token "+token+" est invalide."
                this.token = token
                return "Logged in with "+token+" as "+body.username
            }
        );
     }

Вот код, который я использую чтобы проверить мой клиент:

const c = require('./client/clienttest')
const client = new c()

let t=client.login("APITESTKORO")
console.log(t)

И, наконец, вещь, которая входит в консоль. Это не так сложно, это просто undefined ...

И вот почему мне нужна помощь. Я хотел бы войти Logged in with (token) as (username) вместо этого.

Я надеюсь, что кто-нибудь может мне помочь!

Ответы [ 3 ]

2 голосов
/ 19 марта 2020

Попробуйте использовать:

login(token = 'string',callback) {
         if (!token) throw "Veuillez entrer un token"
         request(
            {
                url : this.baseURL+this.endpoints[2],
                headers : {
                    "auth" : token
                }
            },
            function (err, response, body) {
                // Do more stuff with 'body' here
                if (err) throw err
                if (body.status == 401) throw "Le token "+token+" est invalide."
                this.token = token
                return callback("Logged in with "+token+" as "+body.username);
            }
        );
     }

Вот код для проверки моего клиента:

const c = require('./client/clienttest')
const client = new c()
client.login("APITESTKORO",function(response){
    // Here you have access to your variable
    console.log(response);
})

Надеюсь, это поможет.

1 голос
/ 19 марта 2020

Вы можете попробовать yield также, Попробуйте использовать:

login(token = 'string') {
         if (!token) throw "Veuillez entrer un token"
         request(
            {
                url : this.baseURL+this.endpoints[2],
                headers : {
                    "auth" : token
                }
            },
            function (err, response, body) {
                // Do more stuff with 'body' here
                if (err) throw err
                if (body.status == 401) throw "Le token "+token+" est invalide."
                this.token = token
                return "Logged in with "+token+" as "+body.username
            }
        );
     }

И, для тестирования клиента:

const c = require('./client/clienttest')
const client = new c()

let t= yield client.login("APITESTKORO")
console.log(t)
0 голосов
/ 19 марта 2020

Финнали, мой друг Несс найден! Спасибо ему!

Итак, я хотел не делать это асинхронным, чтобы было проще, чем делать функции для входа в систему, их выполнения и т. Д. c.

Вот код, который он отправил мне!

login(token = 'string') {
         if (!token) throw "Veuillez entrer un token"
         return new Promise ((resolve, reject) => {
          request(
            {
                url : this.baseURL+this.endpoints[2],
                headers : {
                    "auth" : token
                }
            },
            function (err, response, body) {
                // Do more stuff with 'body' here
                if (err) throw err
                if (body.status == 401) throw "Le token "+token+" est invalide."
                this.token = token
                resolve("Logged in with "+token+" as "+body.username)
            }
        );
        })
     }

И, для тестирования клиента:

let c = require('./client/clienttest'),
client = new c();

client.login("APITESTKORO").then(result => console.log(result))

Спасибо еще раз, братан!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...