0
我正在使用Node的'請求'模塊爲單元測試製作2個http請求。我必須確保1在另一個之前執行,並且正在嘗試使用承諾來執行此操作,但是出現錯誤「無法讀取屬性」,然後出現「未定義」錯誤。下面是其中的錯誤是發生功能:量角器:「無法讀取屬性」,然後「未定義」
this.setupSpec = function() {
var deleteItemsRepo = deleteRepo(strings.editRepo);
deleteItemsRepo.then(function() {
createRepo(strings.editRepo);
}); //todo: this must complete before createRepo starts, npm install async?
//createRepo(strings.editRepo);
return deleteItemsRepo; //return promise
};
deleteRepo(...)和createRepo(...)只是調用http請求的功能。
這裏是deleteRepo():
var deleteRepo = function (repoName) {
return request.delete(browser.params.baseRestUrl + 'repositories/' + repoName,
{'auth': browser.params.auth}, function (e, r, user) {
console.log("Status code of deleteRepo('" + repoName + "'): " + r.statusCode);
});
};
顯然問題是'deleteRepo'函數返回undefined(或者沒有返回語句) - 所以cod 'deleteRepo'是問題實際存在的地方 –
@JaromandaX我試着在deleteRepo()的末尾返回狀態碼,但仍然得到相同的錯誤 – Tom
'我試着返回狀態碼......是的,我可以在我的水晶球中看到你做了什麼...不是......顯然問題出在'deleteRepo'代碼...你如何發佈這個消息,以便我們可以告訴你你做錯了什麼。如果你正在返回一些東西,並且仍然返回undefined,那麼你實際上並不**返回任何東西 –