我想Array用 a進行以下演示Map:
export class Example {
// No errors
public withArray(): Promise<Item[]> {
var promises: Promise<Item>[] = [];
promises.push(Promise.resolve(Item));
return Promise.all(promises);
}
// Issues with initialisation
public withMap(): Promise<Map<Item, Item>> {
var promises: Promise<Map<Item, Item>> = new Map();
promises.push(Promise.resolve([Item, Item]));
return Promise.all(promises);
}
}
它抱怨以下錯誤訊息:
Type 'Map<any, any>' is missing the following properties from type 'Promise<Map<Item, Item>>': then, catch, finally
我的問題是,如何在 上定義型別Map,promises以便我可以添加[Key, Value]到 Map 中,然后回傳。
uj5u.com熱心網友回復:
特爾;博士:var promises = Map<Item, Promise<Item>> = new Map()。
另一種寫法Promise<Item>[]是Array<Promise<Item>>. 請注意,這兩種情況都表示相同:應該用 決議Array的Promises Item。陣列->承諾-> 專案。
在第二種情況下,您輸入的Promise<Map<Item, Item>>是Promise -> Map -> items,而不是Map -> promises -> items。您正在尋找的是一個Map<Item, Promise<Item>>.
此外,該代碼似乎還有很多其他問題。注意Map沒有push方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/365717.html
