निम्नलिखित कोड दिया गया है:
var arr = [1,2,3,4,5];
var results: number[] = await arr.map(async (item): Promise<number> => {
await callAsynchronousOperation(item);
return item + 1;
});
जो निम्नलिखित त्रुटि पैदा करता है:
TS2322: टाइप करें 'प्रॉमिस <नंबर> []' टाइप करने के लिए असाइन नहीं है 'नंबर []'। 'नंबर' टाइप करने के लिए 'वादा <नंबर> टाइप करने योग्य नहीं है।
मेरे द्वारा यह कैसे किया जा सकता है? मैं एक साथ कैसे बना async awaitऔर Array.mapकाम कर सकता हूं ?
map, जो एक तुल्यकालिक की उम्मीद करता है, और यह काम करने की उम्मीद करता है।
asyncकरते हैं, तो आप उस फ़ंक्शन को एक वादा वापस करते हैं। तो बेशक, async का एक नक्शा वादों की एक सरणी देता है :)
arr.map()तुल्यकालिक है और एक वादा वापस नहीं करता है।