Я использую модуль «запрос» узла, чтобы сделать 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' возвращает неопределенный (или никакой возвратный оператор) - поэтому треска e для 'deleteRepo', где проблема на самом деле лежит –
@JaromandaX Я попытался вернуть код состояния в конце deleteRepo(), но все равно получил ту же ошибку – Tom
' Я попытался вернуть код состояния' ... да, я могу см. в моем хрустальном шаре то, что вы сделали ... не ... ясно, проблема в коде 'deleteRepo' ... как насчет того, чтобы вы опубликовали это, чтобы мы могли сказать вам, что вы делаете неправильно. Если вы что-то возвращаете и все еще получаете 'undefined', вы на самом деле ** не возвращаете ничего –