Javascript 如何在emberJS中使用对数据存储的嵌套调用?
我试图再次调用THEN()函数中的datastore,以根据第一个datastore的创建从第二个DS检索数据,但“this”在THEN()函数中不可用。如何执行类似于以下示例的操作。 对this.store.findRecord的第二次调用不起作用Javascript 如何在emberJS中使用对数据存储的嵌套调用?,javascript,ember.js,Javascript,Ember.js,我试图再次调用THEN()函数中的datastore,以根据第一个datastore的创建从第二个DS检索数据,但“this”在THEN()函数中不可用。如何执行类似于以下示例的操作。 对this.store.findRecord的第二次调用不起作用 actions:{ onBookStoreSelect(bookstore){ console.log(bookstore.id); this.store.findRecord('
actions:{
onBookStoreSelect(bookstore){
console.log(bookstore.id);
this.store.findRecord('boston_city_bookstores', bookstore.id).then(function(response){
console.log(response);
console.log(response.get('bookstore_address'));
console.log(response.get('bookstore_owner'));
console.log(response.get('bookstore_key_ID'));
this.store.findRecord('books', response.get('bookstore_key_ID')).then(function(bookList){
//do something
});
您可以使用箭头功能来维护此参考
onBookStoreSelect(bookstore) {
return this.store.findRecord('boston_city_bookstores', bookstore.id).then((response) => {
return this.store.findRecord('books', response.get('bookstore_key_ID')).then((bookList) => {
//do something and return the result if you are using it in caller place.
});
});
}
参考: