Javascript:任何人都可以向我解释这段代码吗?

时间:2017-06-19 12:35:42

标签: javascript mocha

我不明白这两个功能如下。他们使用一个函数(完成)的参数,然后他们调用该函数内部的函数?请告诉我这是什么类型的功能以及它是如何工作的。谢谢!

beforeEach((done) => {
    Todo.remove({}).then(() => done());
});

describe('POST /todos', () => {
    it('should creat a new todo', (done) => {
        var text = 'Test todo text';

        request(app)
            .post('/todos')
            .send({text})
            .expect(200)
            .expect((res) => {
                expect(res.body.text).toBe(text);
            })
            .end((err, res) => {
                if (err) {
                    return done(err);
                }

                Todo.find().then((todos) => {
                    expect(todos.length).toBe(1);
                    expect(todos[0].text).toBe(text);
                    done();
                }).catch((e) => done(e));
            })
    })
});

1 个答案:

答案 0 :(得分:2)

  

请告诉我这是什么类型的功能

常规种类。

  

以及它是如何运作的。

JS中的函数是第一类对象。你可以像任何其他值一样传递它们。

function a_function() {
  alert("This is a function");
}

function give_me_a_callback(some_function) {
  some_function();
}

give_me_a_callback(a_function);