将其他变量传递给内部调用的回调函数

时间:2017-07-12 15:30:17

标签: javascript dynamics-crm-2013

我正在使用一个具有函数retrieveMultipleRecords的sdk。该函数本质上要求输入是回调函数,并且在该回调函数中存储从查询返回的数据。所以,如果我有一个回调函数DoOperations(mydata),mydata会自动从retrieveMultipleRecords函数中检索数据作为参数。我会这样称呼它

retrieveMultipleRecords(DoOperations);  // somehow the data automatically gets passed to the DoOperations function like this i am not even sure how this works)

DoOperations(mydata) 
{

}

问题是我想将附加参数信息传递给此DoOperations函数。但是因为它在内部从retrieveMultipleRecords传递数据,当我尝试将aditional参数传递给它时

retrieveMultipleRecords(DoOperations(mydata, MyOtherArgumentsIwant));

DoOperations(mydata, AdditionalArgument)
{

}

它不起作用。如何将更多参数传递给此DoOperation函数并仍然检索从retrieveMultipleRecords函数返回的数据?有人可以给我一些例子。

谢谢。

2 个答案:

答案 0 :(得分:2)

你可以这样做:

retrieveMultipleRecords(function(mydata) {
    var additionalArgs = "what ever additional args are";
    DoOperation(mydata, additionalArgs);
});  

DoOperations(mydata, additionalArgs) 
{
    //do your work here
}

答案 1 :(得分:0)

你无法通过retrieveMultipleRecords传递它不能传递的参数。但是,您可以将{em}定义的内容包含在DoOperations的正文中,与调用retrieveMultipleRecords的范围相同。