以下示例 JavaScript Promise 给出错误

Following example of JavaScript Promise giving error

我正在创建一个承诺,它将接受输入然后 return (+3)。然后我想打印结果。为什么我会收到错误消息?

var prom = new Promise((item) => item+3);

prom(5).then(console.log(result));

我是 Promises 的新手。请帮忙

您不会以这种方式为承诺提供价值。

您在 promise 中得到的唯一东西是 resolve 和 reject 函数,而不是您传递到那里的值。它不是一个函数,它是一个对象。

您可以将其包装在这样的函数中:

function prom(item) {
    return new Promise((resolve, reject) => resolve(item+3));
}

prom(5).then(result => console.log(result));

首先,您没有提供带有参数的承诺。如果您想创建一个具有 return 值的承诺,您需要创建一个 return 作为承诺的函数。

其次,then 接受一个函数,并为其提供可在 console.log.

中使用的结果参数

// var prom = new Promise((item) => item+3);
const prom = item => new Promise((resolve, reject) => resolve(item + 3));

// prom(5).then(console.log(result));
prom(5).then(result => console.log(result));