@@ -205,14 +205,13 @@ export default class FITB extends RunestoneBase {
205205 }
206206 }
207207
208- logCurrentAnswer ( ) {
208+ async logCurrentAnswer ( ) {
209209 let answer = JSON . stringify ( this . given_arr ) ;
210210 // Save the answer locally.
211211 this . setLocalStorage ( {
212212 answer : answer ,
213213 timestamp : new Date ( ) ,
214214 } ) ;
215- var that = this ;
216215 var ret = this . logBookEvent ( {
217216 event : "fillb" ,
218217 act : answer ,
@@ -235,27 +234,25 @@ export default class FITB extends RunestoneBase {
235234 * renderFeedback()
236235 * independently.
237236 */
238- startEvaluation ( logFlag ) {
237+ async startEvaluation ( logFlag ) {
239238 this . checkCurrentAnswer ( ) ;
240239 if ( this . feedbackArray ) {
241240 this . renderFeedback ( ) ;
242241 }
243242 if ( logFlag ) {
244243 // Sometimes we don't want to log the answer--for example, when timed exam questions are re-loaded
245- let ret = this . logCurrentAnswer ( ) ;
244+ let ret = await this . logCurrentAnswer ( ) ;
246245 if ( ! this . feedbackArray ) {
247246 // On success, update the feedback from the server's grade.
248- let that = this ;
249- ret . done ( function ( data ) {
250- that . setLocalStorage ( {
251- answer : answer ,
252- timestamp : data . timestamp ,
253- } ) ;
254- that . correct = data . correct ;
255- that . displayFeed = data . displayFeed ;
256- that . isCorrectArray = data . isCorrectArray ;
257- that . renderFeedback ( ) ;
247+ let data = await ret . json ( ) ;
248+ this . setLocalStorage ( {
249+ answer : JSON . stringify ( this . given_arr ) ,
250+ timestamp : data . timestamp ,
258251 } ) ;
252+ this . correct = data . correct ;
253+ this . displayFeed = data . displayFeed ;
254+ this . isCorrectArray = data . isCorrectArray ;
255+ this . renderFeedback ( ) ;
259256 }
260257 }
261258 if ( this . useRunestoneServices ) {
0 commit comments