Примечание: Бармар был быстрее с их ответом, и, читая его, я думаю, что я неправильно истолковал то, что вы спрашивали.Тем не менее, я все еще собираюсь опубликовать это, поскольку это может помочь уточнить, что именно происходит в вашем примере.
Ваша первая строка,
var calculus = new Promise((resolve, reject) => (resolve) => resolve(3))
Возвращает что-то сопоставимое собъект, подобный этому (хотя за кадром он сильно отличается):
{
then: function(callback) {
callback(function (resolve) {
resolve(3);
});
}
}
Итак, чтобы использовать это, вы хотели бы сделать что-то вроде этого:
calculus.then((resolver) => {
resolver(function (value) {
console.log(value); // 3
});
});
Я думаю, что вы 'Вероятно, это означает следующее:
const calculus = new Promise((resolve, reject) => resolve(3));
calculus.then((result) => console.log(result))
Помните, что () => {}
похож (хотя и не совсем то же самое) на function() {}
, а () => something
похож на function () { return something }
Таким образом, ваш оригинальный код выглядит так:
var calculus = new Promise(function (resolve, reject) {
return function (resolve) {
resolve(3)
};
});
Когда вы хотите
var calculus = new Promise(function (resolve, reject) {
resolve(3);
});