我创建了一个返回承诺的函数。
function fetch1 () {
return new Promise((res, rej) => {
res("A");
});
}
我在函数api1中调用此函数,并返回从fetch1返回的promise。
function api1 () {
return fetch1().then(v =>{
console.log("Api1", v);
return "B"
);
}
如您所见,我将返回从fetch1返回的相同值。我没有创建任何新的Promise。但是当我称呼它时,我得到以下输出。
api1().then(v => console.log("Api2 call", v));
Api1 A
Api2 call B
我的预期输出应该是
Api1 A
Api2 call A
从此链接可以看到。然后,那个诺言就被束缚了。从第一个返回的诺言然后在接下来的第二个诺言中得到解决。但是我没有从api1函数中返回任何承诺。
我可以解决它。但是为什么会发生。
红糖糍粑
杨魅力
慕码人2483693
相关分类