在 JavaScript 中等待时,哪些函数会传递给 Promise?

问题描述 投票:0回答:1

考虑以下代码,它等待 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);
    });
}

我的问题是:

  1. 什么会作为
    resolve
    /
    reject
    函数传递给 Promise?
  2. 它们是否由
    await
    子句隐式传递?
javascript async-await promise
1个回答
0
投票

当你创建一个新的Promise时,Promise构造函数会自动向执行器函数提供resolve和reject函数。这些功能是用来结算承诺的

基本上 解决将把承诺标记为已履行并提供值,而拒绝将把承诺标记为拒绝并提供原因(通常是错误)

© www.soinside.com 2019 - 2024. All rights reserved.