Вызов решения - это то, что вы должны делать сами. Поскольку foo немедленно возвращается, ваше обещание также немедленно разрешается. Однако, если это соответствует вашим требованиям, вы можете сделать что-то вроде ниже.
function foo(resolve) {
setTimeout(() => {
console.log("hello world");
resolve();
}, 1000)
}
function bar() {
return new Promise(function(resolve) {
foo(resolve)
})
}
bar().then(() => console.log("foo has completed"))
В общих настройках значения хранятся в паре «Значение ключа», поэтому, если вы просто сохраните отредактированное значение с соответствующим ключом, предыдущие значения будут переопределены, так как вы уже получаете массив заметок, вы можете сделать одну вещь, сохранить список массивов в новом ArrayList и обновите отредактированное значение этого индекса, из которого вы получаете Notes, конвертируйте новый arrayList с помощью Gson и сохраните его в общих настройках.