node.js / promises /错误消息:…不是函数

编程入门 行业动态 更新时间:2024-10-06 22:21:15

node.js / promises /错误消息:…不是<a href=https://www.elefans.com/category/jswz/34/1771370.html style=函数"/>

node.js / promises /错误消息:…不是函数

我正在尝试运行一个简单的2文件node.js项目。项目正在运行问题,并显示错误消息“ TypeError:steamBroccoli不是函数”。我从steamBroccoli()中删除了大括号-它起作用了,该项目顺利运行。但是我不知道它是怎么运行的,也不知道为什么它指出了这个问题,因为steamBroccoli是一个函数。

library.js

let cookBeans = () => {
return new Promise ((resolve, reject) => {
 setTimeout(()=>{
   resolve('beans')
 }, 1000)
})
}

let steamBroccoli = () => {
return new Promise ((resolve, reject) => {
 setTimeout(()=>{
   resolve('broccoli')
 }, 1000)
})
}

let cookRice = () => {
return new Promise ((resolve, reject) => {
 setTimeout(()=>{
   resolve('rice')
 }, 1000)
})
}

let bakeChicken = () => {
return new Promise ((resolve, reject) => {
 setTimeout(()=>{
   resolve('chicken')
 }, 1000)
})
}

module.exports = {cookBeans, steamBroccoli, cookRice, bakeChicken}
let {cookBeans, steamBroccoli, cookRice, bakeChicken} = require('./library.js')

async function serveDinner(){
  const vegetablePromise = steamBroccoli(); // If I remove the braces  - The error disappear and the code works.  
  const starchPromise = cookRice();
  const proteinPromise = bakeChicken();
  const sidePromise = cookBeans();
  console.log(`Dinner is served. We're having ${await vegetablePromise}, ${await starchPromise}, ${await proteinPromise}, and ${await sidePromise}.`)
}
serveDinner();
回答如下:

您的示例代码有效!由于您使用的是箭头功能,因此可以重构您的诺言以删除一些样板代码。

const steamBroccoli = () => new Promise((resolve) => {
  setTimeout(() => resolve('broccoli'), 1000);
});

更多推荐

node.js / promises /错误消息:…不是函数

本文发布于:2024-05-07 11:37:46,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1756066.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:函数   错误   消息   node   js

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!