2017-06-19 163 views
-5

我不明白這兩個功能下面。他們使用一個參數是一個函數(完成),然後他們調用該函數內的函數?請告訴我這是什麼類型的功能以及它是如何工作的。謝謝!Javascript:任何人都可以解釋我這段代碼嗎?

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)); 
      }) 
    }) 
}); 
+0

有沒有辦法來解釋它,因爲我們不知道什麼非本地功能和/或做什麼,是做什麼用的框架,如果有的話,等等。 – Dellirium

回答

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);

相關問題