suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Warum gibt das folgende Versprechen diesen Wert zurück?

function timeout(ms) {
  return new Promise((resolve, reject) => {
    setTimeout(resolve, ms, 'done');
  });
}

timeout(100).then((value) => {
  console.log(value);
});

Entschuldigen Sie, warum Sie zurückgekommen sind'done',setTimeout不是只有两个参数?为什么timeout执行后 resolve会拿到'done'

漂亮男人漂亮男人2748 Tage vor573

Antworte allen(2)Ich werde antworten

  • 高洛峰

    高洛峰2017-05-16 13:32:47

    https://developer.mozilla.org...

    向延迟函数传递额外参数的功能

    Antwort
    0
  • 某草草

    某草草2017-05-16 13:32:47

    setTimeout 第一个参数是回掉函数,第二个是延迟回掉的时间,第三个参数之后就是向回掉函数的参数。你的这种写法就相当于

    setTimeout(function () {
        resolve('done')
    }, ms)

    Antwort
    0
  • StornierenAntwort