Как я могу делать функции, которые идут после друг друга после каждого периода - PullRequest
1 голос
/ 06 октября 2019

Мне всегда было любопытно, как функции запускаются друг за другом после определенного периода. например,

let result = function1().function2(param).function3()

Как я могу это сделать?

1 Ответ

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

Есть множество способов сделать это, зависит от ваших потребностей. Если вы просто ищете цепочку функций, это простой пример:

function function1() { // function 1
    return params => { // function 2
        return () => { // function 3
            return result;
        }
    }
}
// usage
const result = function1()(params)()

или

function function1() {
    this.function2 = function2;
    return this;
}

function function2(params) {
    this.function3 = function3;
    return this;
}

function function3() {
    return 'xxx';
}
// usage
const result = function1().function2(params).function3();

Другой вариант - использовать цепочку Promises для асинхронных методов.

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