2017-10-16 54 views
0

因此,我使用node.js中的q模块尝试进行其余调用并异步获取数据,我想知道的是我如何使用then方法将该数据传递给函数。Node.js q模块 - 之后使用函数

举例来说,如果我有一个名为的getData()函数返回defer.promise,我成立了一个变量获得这个承诺是这样 -

var promise = getData(); 

我知道我可以使用

promise.then(console.log, console.error); 

,它会打印出我从REST调用

但是检索的数据,我怎么可能例如,数据传递到一个名为sortData(数据)功能?

promise.then(sortData(data), console.error); 

does not work for example,does anyone know how to do this?还是我必须做我以前做过的同样的事情,并继续使用延迟执行异步函数?使用,然后,然后呢?我只是不确定如何将异步获取的数据作为该函数的输入传递给函数。

任何帮助表示赞赏。

回答

2
promise.then(sortData, console.error); 

qthen接受两个回调函数作为参数 - 一个成功的回调和错误回调。

+0

谢谢!所以当我调用回调函数sortData时,你会介意告诉我如何访问我异步获取的数据吗?我做了一个休息的GET请求,并获得了数据解析为一个JSON,并做了then.function(response){defer.resolve(response),所以当我使用promise.then(sortData,console.error)时,我怎样才能访问JSON内sortData? – Chase

+0

你会得到这些数据作为你的'sortData'函数的第一个参数。 – dashmug

+0

真棒谢谢你一直很大的帮助。如果你不介意我问一个更快的问题,如果我想接受该函数的其他参数怎么办?像函数was - sortData(data,dataType)...和第一个参数有数据自动从承诺传递...我怎么可以传递一些变量到第二个参数dataType? – Chase