javascript - Videregivelse af argumenter til promises. Skal jeg bryde kæden?
Jeg er ny til Node.js og promises. Jeg har et krav om at sende argumenter ind i en callback-funktion i min promise-kæde. Ser ud som nedenfor:
var first = function(something) {
/* do something */
return something.toString();
}
var second = function(something, item) {
/* need to work with both the args */
}
Og min løfte-kæde ser ud som
function(item) {
/* the contents come from first callback and the item should be passed as an argument to the second callback */
fs.readFile(somefile).then(first).then(second)
}
Jeg burde videregive varen som en parameter, kan jeg gøre dette uden at bryde min kæde?
Ret mig venligst, hvis jeg tager helt fejl.
Tak
Svar #1
Pak din second-funktion ind i en anonym funktion og send parameteren på denne måde:
function(item) {
/* the contents come from first callback and the item should be passed as an argument to the second callback */
fs.readFile(somefile)
.then(first)
.then(firstResult => second(firstResult, item))
}
Svar #2
Du kan bruge Function.prototype.bind() til at sende varen til den anden funktion
fs.readFile(somefile).then(first)
.then(second.bind(null, item))
