我正在使用 js 和 jsPsych 编写实验代码。
在任务结束时,我想将数据保存到 Firebase Firestore,然后重定向到某个位置。但是,当我包含 window.location.replace 时,当前没有保存任何数据。没有重定向它工作正常。但我两者都需要。任何建议将不胜感激。
jsPsych.init({
timeline: timeline,
preload_images: [
on_finish: function() {(saveData(jsPsych.data.get().json()));
(window.location.replace("https://url.com"));
},
});
function saveData(data){
console.log("trying to save");
const db = firebase.firestore();
var data = JSON.parse(data);
var namedData = {};
data.forEach(function(q) {
//console.log(q.internal_node_id)
if(q.hasOwnProperty("responses"))
{
q.responses = JSON.parse(q.responses);
}
namedData[q.internal_node_id] = q;
})
//db.collection("user").doc(subject_id).set(namedData)
db.collection("user").doc(subject_id).set(namedData)
.then(function() {
console.log("data saved")
})
}
非常感谢!