{{findby}}
ヘルパーを作成しました。これは、配列から項目を取り出すのに便利ですが、問題が発生しました。ヘルパーは、promiseArray配列のfindBy()
を呼び出すのは好きではありません。EmberJS:約束からデータを返すことができるヘルパーを作る方法
だから、ヘルパーは、これを行うように変更されました:
export function findby([array, key, value]) {
let isPromiseArray = Ember.typeOf(array.then) === 'function';
if (isPromiseArray) {
array.then((arr) => {
return arr.findBy(key, value) || null;
});
} else {
return array.findBy(key, value) || null;
}
}
export default Ember.Helper.helper(findby);
もちろんのアイデアビーイング渡される配列はPromiseArrayであることを起こる場合は、findBy()
を呼び出そうとする前にthen()
を使用しています。
この場合、何も返されないようですが、then()
の内部から戻ってきても、ヘルパー関数が実際には閉じられていないように見えます。
私がしようとした場合:
return array.then((arr) => {
return arr.findBy(key, value) || null;
});
そしてちょうど約束自体はヘルパーから返されます。ここで
は、私がしようとしているものの回転因子である:https://ember-twiddle.com/c82fb0e11641703f118e867b45403654?numColumns=2&openFiles=controllers.application.js%2Chelpers.findby.js
質問はヘルパーのための一般的なものであるように思わ:ヘルパーでの約束/そして、()関数からデータを返す方法はありますか?私がやりたいことがヘルパーでも可能なのだろうか?
[ember-promise-helpers](https://github.com/fivetanley/ember-promise-helpers) – nem035
@nem okありがとうございます。それは役に立つと思われます。 – Grapho