使用promises隐藏异步回调函数的外部作用域

时间:2015-07-06 18:32:58

标签: javascript node.js promise es6-promise

我的代码目前采用以下形式:

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?

0 个答案:

没有答案