Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Nodejs中的函数使用_Node.js - Fatal编程技术网

Node.js Nodejs中的函数使用

Node.js Nodejs中的函数使用,node.js,Node.js,无法理解承诺函数,如何处理它,任何人都可以通过一个简单的例子来解释它。在不同的网站上尝试过,但被弄糊涂了承诺是一种价值的代理,在承诺创建时不一定知道该价值。它允许您将处理程序与异步操作的最终成功值或失败原因相关联。这使得异步方法可以像同步方法一样返回值:异步方法不返回最终值,而是在将来某个时间点返回该值的承诺 简言之,“承诺是为某一行为而采取的一个词,做出承诺的另一方可能会履行或否认它”。在履行的情况下,承诺得到解决,在另一种情况下,承诺被拒绝 我们可以用JavaScript创建一个承诺,并将其

无法理解承诺函数,如何处理它,任何人都可以通过一个简单的例子来解释它。在不同的网站上尝试过,但被弄糊涂了

承诺是一种价值的代理,在承诺创建时不一定知道该价值。它允许您将处理程序与异步操作的最终成功值或失败原因相关联。这使得异步方法可以像同步方法一样返回值:异步方法不返回最终值,而是在将来某个时间点返回该值的承诺

简言之,“承诺是为某一行为而采取的一个词,做出承诺的另一方可能会履行或否认它”。在履行的情况下,承诺得到解决,在另一种情况下,承诺被拒绝


我们可以用JavaScript创建一个承诺,并将其作为一个即将到来的事实来描述一些操作。承诺是一种消除非直观回调使用的设计模式。

您可以通过以下示例理解它:

 const request = require("request")

function doSomething(url){
   //return promise from here
   return new Promise(function(resolve, reject) {
    request.get(url, function(error, resp, body) {
        if (error) {
            reject(error);
        } else {
            resolve(JSON.parse(body));
        }
    })
  })
 }

function callDoSomething(){
//initialising a promise
let prom = doSomething(url)
//consume it 
prom.then(function(res) {
 console.log(res)
})
.catch(function(e){
 console.log(e.message)
})
}

callDoSomething()
您也可以选择
Promise.all
来处理多个承诺:

let prom1 = doSomething(url1)
let prom2 = doSomething(url2)
let prom3 = doSomething(url3)

Promise.all([prom1,prom2,prom3])
.then(res =>{
   //expected output array
   console.log(res)
 })
.catch(e =>{
  console.log(e.message)
 })

请详细参考本网站,例如-:了解它在理论上是如何工作的,Yok今天一定会尝试