我的代码目前采用以下形式:
var x = 1;
var promise = new Promise(function(resolve, reject) {
request(url, function(err, res, body) {
if (x == 1)
resolve(body);
});
});
为什么在这种情况下 x 未定义?
如果我省略了承诺(不需要),如下所示:
var x = 1;
request(url, function(err, res, body)) {
if (x == 1)
// use body
});
然后我就可以成功访问 x 了。我怎样才能信守承诺但仍然可以访问 x?