0
我想創建多個承諾,而且我真的不關心這段代碼中的種族,只要所有的回調都完成了。Node.js:單個變量,多個承諾
所以,我有一個變量,它包含所有的數據,讓我們說:
export interface IData {
data1: string[],
data2: string[],
data3: string[]
}
這3個是無關的,我有一個數據提取器..說:
function getData(id: string): Promise<IData> {
return new Promise((resolve, reject) => {
var data = new TableFetcher();
data.get(_id)
.then((result : IData) => {
resolve()
})
})
}
現在,我想做成這樣的:
function x(): Promise<IData> {
return new Promise((resolve,reject) => {
var data: IData = {
data1: getData('100'),
data2: getData('200'),
data3: getData('300')
}
resolve(data)
})
}
當所有getData承諾已完成。
它不需要鏈,但所有可以單獨運行,但我需要返回一個包含所有異步數據完成後的數組。
我該怎麼做?
啊...謝謝你.. – Magician
我看到'promise.all'結構,但我在那裏找不到'拒絕'。我如何向x()的調用者發送'reject'? – Magician
@Magician如果傳遞給Promise.all()的任何承諾被拒絕,那麼產生的承諾也將被拒絕。 – Thomas