【发布时间】:2017-02-09 20:14:13
【问题描述】:
我正在使用 Promise 库来获取另一个带有cheerio 请求的 Promise-request 库的结果,但我不断收到undefined而不是布尔值
return Promise.try(function () {
.....
}).then(function () {
return self.checkGroupJoined(id);
}).then(function (data) {
console.log(data);
和我使用promise-request的方法
this.checkGroupJoined = function (steam_id) {
var options = {
uri: 'url',
transform: function (body) {
return cheerio.load(body);
}
};
return rp(options).then(function ($) {
$('.maincontent').filter(function () {
if ($(this).find('a.linkTitle[href="url"]').length > 0){
return true;
} else {
return false;
}
});
}).catch(function (err) {
return error.throw('Failed to parse body from response');
});
};
我应该promisifyAll 图书馆吗?
【问题讨论】:
-
你...没有从
rp(options).then(function ($) {返回任何东西。您只需选择一些元素,将它们过滤到一个子集,然后......扔掉它。 -
那么如何返回呢?因为我在确定是否找到它后返回。
-
你想返回什么?因为现在你只是在过滤一组元素......没有什么可以返回?
-
你不需要因为在人们感到卡住时不断询问有关编程问题的地方提出有关编程的问题而对我投反对票 :) 问候!
标签: javascript promise bluebird cheerio