考虑以下代码,它等待 Promise:
async function handleSubmit() {
try {
await submitForm(answer);
} catch (err) {
console.log('Error')
}
}
function submitForm(answer) {
return new Promise((resolve, reject) => {
setTimeout(() => {
if (answer !== 'OK') {
reject(new Error('Rejected'));
} else {
resolve();
}
}, 1500);
});
}
我的问题是:
resolve
/reject
函数传递给 Promise?await
子句隐式传递?当你创建一个新的Promise时,Promise构造函数会自动向执行器函数提供resolve和reject函数。这些功能是用来结算承诺的
基本上 解决将把承诺标记为已履行并提供值,而拒绝将把承诺标记为拒绝并提供原因(通常是错误)