2017-07-19 73 views
0

立即調用的函數表達式:異步IIFE與Thenable

(async (myVal) => { 
    try { 
    // stuff 
    } catch (err) { 
    console.log(err); 
    } 
})(myVal) 

Thenable:

Promise.resolve() 
    .then(async (myVal) => { 
    // stuff 
    }) 
    .catch((err) => { 
    console.log(err); 
    }); 

自調用運行更快。除此之外,還有哪些具體優勢可以相互利用,以及在哪些情況下?

+0

他們看起來不像我一樣的操作。我不是你在第二個例子中使用'Promise.resolve'的原因。如果你想要一個等效的操作,你將不得不在'new Promise'中執行你的'stuff'。 '.then'調用總是異步的,而'async'函數只在第一個'await'語句中異步執行。 – nils

回答

0

一些其他方面的差異:

  • 它看起來更好
  • 它採用myVal,而不是undefined本地myVal變量
  • 它的語法和不依賴於Promise或它的方法在全球價值