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今天一定会尝试