0
我正在茉莉花和Supertest在現有項目上工作。JavaScript如何知道執行失敗功能?
let checkResult = require('./check-result');
it('should do something', function(done){
request
.post('/route')
.expect(results => {
expect(results).toBeTruthy();
})
.end(checkResult(done));
});
當我console.log(done)
我得到以下輸出:{ [Function] fail: [Function] }
下面是我們checkResult模塊。
//check-result
module.exports = function checkResult(done){
return function(seeIfThereIsError){
if(seeIfThereIsError){
done.fail(seeIfThereIsError)
} else {
done()
}
}
};
發生錯誤時,執行if(seeIfThereIsError)
塊。
我有兩個問題:
- 當傳遞到
done
如何checkResult
在不checkResult
的seeIfThereIsError
參數返回的功能得到填充?- 如何創建簽名
{ [Function] fail: [Function] }
?
- 如何創建簽名
總之,我怎麼能從頭創建一個任意例子來理解上的這一切是如何結合在一起的工作部件(語法)?