【发布时间】:2021-04-06 08:53:21
【问题描述】:
我试图写一个承诺,但似乎遗漏了一些东西。这是我的代码:
const myPromise = new Promise(() => {
setTimeout(() => {
console.log("getting here");
return setinputs({ ...inputs, images: imageAsUrl });
}, 100);
});
myPromise
.then(() => {
console.log("getting here too");
firebase.database().ref(`collection/${idNode}`).set(inputs);
})
.then(() => {
console.log("all is set");
})
.catch((err) => {
console.log(err);
});
如果我运行程序,承诺的第一部分正在执行,但所有.then() 函数都没有执行。我该如何解决这个问题?
【问题讨论】:
-
myPromise似乎没有得到解决?您正在使用setinputs而不是resolve(),然后在then中使用setinputs -
我如何用 resolve() 来写?
-
我会推荐阅读 Promise developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
-
如果您想阅读有关承诺的内容,我将把它放在这里:medium.com/front-end-weekly/…
-
setInputs是useState返回的setter吗?我从来不知道它会返回一些东西。
标签: javascript reactjs