【发布时间】:2018-08-31 15:05:55
【问题描述】:
我有一个返回 ID 的 http post 请求。然后我尝试将该 ID 传递给另一个函数。但是,在下一个函数中,我有一个超时,它将循环该函数以检查状态。 ID 每次在 timeout 函数内都返回 undefined。
第一个函数
这里我有'res',它是另一个函数的结果。我从返回的 json 中获取状态 ID 并将其发送到“getAlbum”。
anotherFunction(res) {
this.getAlbum(res);
}
获取相册
如果我立即在此函数内执行控制台日志,它会正确发出正确的 ID。但是,如果我在“checkAblumStatus”函数中执行此操作,则 id 部分未定义。
getAlbum(id){
var statusID = id.status_id;
console.log('id = ' + statusID) // returns id
var statusIDRequest = 'url' + statusID;
var checkAblumStatus = function (statusIDRequest) {
console.log('statusIDRequest = ' + statusIDRequest) // returns undefined for the ID part
this.http.get(statusIDRequest).subscribe(res => {
if (res.status == "completed") {
// completed
} else if (res.status == "failed") {
// failed
} else {
setTimeout(checkAblumStatus, 1000);
}
});
};
setTimeout(checkAblumStatus, 1000);
}
这里的任何帮助将不胜感激:)
【问题讨论】:
标签: javascript undefined