承诺 returns 未定义
Promise returns undefined
我知道你不能让异步函数同步运行但是
如何向我的承诺链添加某种订单?
一个结果依赖于之前的 promise 值,如果没有发生,我会得到一个未定义的错误。这是一个 http 请求,因此它依赖于外部因素,例如我的连接执行请求的速度等。
module.exports.movieCheck = function(authToken) {
return request({
method : 'GET',
uri : 'https://graph.facebook.com/' + profileID + '/posts?fields=message&limit=25&' + authToken
}).spread(function (response, body) {
console.log('https://graph.facebook.com/' + profileID + '/posts?fields=message&limit=25&' + authToken);
return body;
}, function(e) {
console.log(e);
});
};
我调用上面的方法如下。但是 console.log returns undefined.
movieCheck.getToken()
.then(function(token) {
movieCheck.movieCheck(token);
})
.then(function(movies) {
console.log(movies); //should print json data
});
终端打印
undefined
https://graph.facebook.com/.../posts?fields=message&limit=25&access_token=....
尝试 return 从第一个回调开始的承诺
movieCheck.getToken()
.then(function (token) {
return movieCheck.movieCheck(token);
}).then(function (movies) {
console.log(movies); //should print json data
});
我知道你不能让异步函数同步运行但是 如何向我的承诺链添加某种订单?
一个结果依赖于之前的 promise 值,如果没有发生,我会得到一个未定义的错误。这是一个 http 请求,因此它依赖于外部因素,例如我的连接执行请求的速度等。
module.exports.movieCheck = function(authToken) {
return request({
method : 'GET',
uri : 'https://graph.facebook.com/' + profileID + '/posts?fields=message&limit=25&' + authToken
}).spread(function (response, body) {
console.log('https://graph.facebook.com/' + profileID + '/posts?fields=message&limit=25&' + authToken);
return body;
}, function(e) {
console.log(e);
});
};
我调用上面的方法如下。但是 console.log returns undefined.
movieCheck.getToken()
.then(function(token) {
movieCheck.movieCheck(token);
})
.then(function(movies) {
console.log(movies); //should print json data
});
终端打印
undefined
https://graph.facebook.com/.../posts?fields=message&limit=25&access_token=....
尝试 return 从第一个回调开始的承诺
movieCheck.getToken()
.then(function (token) {
return movieCheck.movieCheck(token);
}).then(function (movies) {
console.log(movies); //should print json data
});