Javascript 如何在emberJS中使用对数据存储的嵌套调用?

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('

我试图再次调用THEN()函数中的datastore,以根据第一个datastore的创建从第二个DS检索数据,但“this”在THEN()函数中不可用。如何执行类似于以下示例的操作。 对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.
            });
        });
    }
参考: