2016-07-28 9 views
5

एक async समारोह में, मैं तो जैसे एक अतुल्यकालिक मूल्य प्राप्त कर सकते हैं:चेन async कार्यों

const foo = await myAsyncFunction()

मैं एक सिंक समारोह मैं की तरह कुछ करना चाहते हैं के साथ परिणाम पर एक विधि कॉल करना चाहते हैं, myAsyncFunction().somethingElse()

क्या एसिंक फ़ंक्शन के साथ कॉल करना संभव है, या क्या आपको प्रत्येक परिणाम के लिए एक नया चर असाइन करना होगा?

+1

ES7 के बारे में पता नहीं है, लेकिन अन्य भाषाओं में आप श्रृंखला कार्यों के लिए 'await' अभिव्यक्ति के आसपास कोष्ठक का उपयोग। – 4castle

+1

'myAsyncFunction() का इंतजार करें। (X => x.somethingElse()) ':-) – Bergi

+0

' async/await' ES7 का हिस्सा नहीं है। –

उत्तर

14

आप एक अभिव्यक्ति में प्रतीक्षा कर सकते हैं, इसे किसी नए चर को असाइन करने की आवश्यकता नहीं है।

const foo = await (await myAsyncFunction()).somethingElseAsync() 

या आप परिणाम पर एक समन्वयन विधि कॉल करना चाहते हैं:

const foo = (await myAsyncFunction()).somethingElseSync() 
+6

यह सुनिश्चित नहीं है कि यह स्पष्ट था, लेकिन बाहरी 'प्रतीक्षा' केवल तभी जरूरी है जब 'कुछ भी' एसिंक भी है। – 4castle

+0

@ 4castle उत्तर उस – RyanZim

+0

पर स्पष्टता के लिए संपादित किया गया था यदि पहली विधि 'सिंक' और दूसरी' async' है? – NSjonas

संबंधित मुद्दे