这是一个有点对我来说是一个谜。我有两个功能:价值没有被传递给循环
1)
var revisionNumber;
var $list = $('<ul>');
TFS_Wit_WebApi.getClient().getWorkItem(284)
.then(function(query) {
revisionNumber = query.rev;
});
2)
for (i = 0; i < revisionNumber; i++) {
TFS_Wit_WebApi.getClient().getRevision(284, 6)
.then(function(query) {
$list.append($('<li>').text("story board" + revisionNumber));
});
}
的reivisonNumber值应该是15。当在for循环我把代替可变的数15,第二功能工作得很好,以及用于循环,它实际上显示该号码15.
如果删除for循环中,它也可以与来自F显示revisionNumber变量的值第一个功能。
然而,当我把revisionNumber在我的for循环,第二个功能无法在所有工作。
为什么没有第二个函数内部与上述去为循环?
目前还不清楚你问什么为好。这可能是http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call,不过,如果你的'for'循环紧跟在代码( 1),并且你期望'revisionNumber'在循环开始时有一个非undefined的值。 –
臭名昭着的循环+异步返回。大奖! –
@ T.J.Crowder所以是的,for循环遵循(1)中的代码。我通过删除for循环来检查该值,并且该值在第二个函数中未定义。 – Student