搜尋

首頁  >  問答  >  主體

javascript - 請問下面這個promise為什麼會回傳這個值?

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

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

請問為什麼會回傳'done',setTimeout不是只有兩個參數?為什麼timeout執行後 resolve會拿到'done'

#
漂亮男人漂亮男人2748 天前570

全部回覆(2)我來回復

  • 高洛峰

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

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

    向延遲函數傳遞額外參數的功能

    回覆
    0
  • 某草草

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

    setTimeout 第一個參數是回掉函數,第二個是延遲回掉的時間,第三個參數之後就是向回掉函數的參數。你的這種寫法就相當於

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

    回覆
    0
  • 取消回覆