【发布时间】:2020-09-04 20:10:45
【问题描述】:
有一个 promise 返回下一个循环的参数。就像:
promise1(){
return axios.get('https://google.com').then(result=>{
if (result == someValue){ // continues
promise1();
}
else { //if result does not equal this value, just break this loop and return
return "stackoverflow";
}})}
最后我想调用这个promise并在then之后做一些事情,它将是:
promise1().then(()=>{
//do something
})
但是,promise1 在我像上面那样调用此函数时在第一个循环中返回。我怎样才能等到else 块运行并返回“stackoverflow”?实际上,我明白为什么它会在第一个循环中返回,但我怎样才能让它在特定条件下返回呢?
【问题讨论】:
-
return promise1();在递归调用中 -
那太快了 :) 有道理,你可以重写作为答案,我会标记的。非常感谢。
标签: javascript ecmascript-6 promise axios