You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
People usually have a predetermined experiment_id for each script/experiment.
Instead, I'm using a script that dynamically chooses from an array of experiment_ids, and then saves the data to one of these osf components. To choose which experiment_id to use, I need to first run an async function that reads data from an existing firebase database.
Unfortunately, I can't find a way to make this resolve before datapipe runs. I've tried pushing the async function to a separate node first, or adding an "on_start: async function()" property to the datapipe save_data node, but I keep getting the same error that the experiment_id is missing.
Here's an example of something I've tried:
const save_data_osf = {
on_start: async function(){
// wait for recruitment wave to be set
osf_DataComponent_Name = await setRecruitmentWave();
},
type: jsPsychPipe,
action: "save",
experiment_id: osf_DataComponent_Name,
filename: filename,
data_string: ()=>jsPsych.data.get().csv()
};
If datapipe or jsPsych generally doesn't play well with async functions, I'll try something else, but putting this question here if there's an obvious solution!
The text was updated successfully, but these errors were encountered:
You can use the call-function plugin which supports asynchronous function calls. I'd add it to the timeline right before the save_data_osf trial, and store the ID in a global variable.
People usually have a predetermined experiment_id for each script/experiment.
Instead, I'm using a script that dynamically chooses from an array of experiment_ids, and then saves the data to one of these osf components. To choose which experiment_id to use, I need to first run an async function that reads data from an existing firebase database.
Unfortunately, I can't find a way to make this resolve before datapipe runs. I've tried pushing the async function to a separate node first, or adding an "on_start: async function()" property to the datapipe save_data node, but I keep getting the same error that the experiment_id is missing.
Here's an example of something I've tried:
If datapipe or jsPsych generally doesn't play well with async functions, I'll try something else, but putting this question here if there's an obvious solution!
The text was updated successfully, but these errors were encountered: