【发布时间】:2017-08-01 05:21:26
【问题描述】:
我正在编写一个 getWebContent 函数,该函数使用 Promise(我也在使用 Request 模块)返回网页内容。
我想使用这个函数的方式是var content = getWebContent(),所以content变量包含了请求网站的数据。我是这样开始的:
var request = require('request')
var getWebContent = function () {
target = 'http://www.google.com';
var result = null;
var get = function (url) {
return new Promise(function (resolve, reject) {
function reqCallback(err, res, body) {
if (err) reject(err);
else resolve(body);
};
request(url, reqCallback);
});
};
get(target).then(function (res) {
result = res;
console.log(res);
});
return result;
};
var goog = getWebContent();
console.log(goog)
但是,此代码不起作用,因为该函数在 Promise 对象解析之前返回 result 变量,该变量为 null。您能否告诉我应该如何修复我的代码以使其按预期工作?
【问题讨论】:
-
@JLRishe 我正在学习这个网络应用程序,因为我是新手。我不知道你为什么这么讽刺,但我不相信他们这样做是为了好玩。我是否正确回答了您的问题?
-
@JLRishe 感谢您的参考。
标签: javascript node.js promise