だから、約束ハンドラに移入配列を...- 私は私のイオン/角度/活字体プロジェクトでは、このようなコードを持っている場合、
let arr: Array<string> = [];
this.databaseProvider.getAllSpecies().then(allSpecies => {
for(let species of allSpecies) {
if(species.name.toLowerCase().indexOf(keyword.toLowerCase()) > -1
|| species.latinName.toLowerCase().indexOf(keyword.toLowerCase()) > -1) {
arr.push(species.name + " - " + species.latinName);
}
}
});
return arr;
... arr
は、もちろん、なりますthen()
ハンドラがまだ実行されていないため、返されると空です。
Promiseハンドラから文字列の配列を返す方法はありますか?現在、データベースからメモリにすべてspecies
のオブジェクトがロードされていますが、何百ものオブジェクトが存在するため、そのようなものはありません。
コードは、ionic2-autocompletegetResults()
関数のスニペットです。これは、文字列の配列、つまり別のPromiseを返す必要があります。
ionic2-オートコンプリートのドキュメントは 'getResults'が約束(または観察可能な、または通常の値)を返すことが許されていると述べています。 – dbandstra
私は同じことに気づいただけですが、なんらかの理由でこれは私のアプリではうまくいかないようです。 – mkkekkonen