SharePoint什么是`sender`和`args`?

时间:2017-12-28 01:03:09

标签: javascript sharepoint

我正在慢慢地与SharePoint一起学习JavaScript。以下代码工作正常,但我不明白senderargs函数中的onCourseCodeSucceededonCourseCodeQueryFailed是什么。

// Add data to the courseCode Control   


function retrieveCourseCodes() {
            var clientContext = new SP.ClientContext(siteUrl);
            var oList = clientContext.get_web().get_lists().getByTitle('Course List');
            var camlQuery = new SP.CamlQuery();
            camlQuery.set_viewXml('<View><Query><Where><Geq><FieldRef Name=\'ID\'/>' + 
                '<Value Type=\'Number\'>1</Value></Geq></Where></Query></View>');
            this.collListItem = oList.getItems(camlQuery);
            clientContext.load(collListItem);
            clientContext.executeQueryAsync(
                    Function.createDelegate(this, this.onCourseCodeSucceeded), 
                    Function.createDelegate(this, this.onCourseCodeQueryFailed));        
        }

        function onCourseCodeSucceeded(sender, args) {
            var listItemInfo = '';
            var listItemEnumerator = collListItem.getEnumerator();
            var courseCodes = document.getElementById('classCourseCodes');
            while (listItemEnumerator.moveNext()) {
                var oListItem = listItemEnumerator.get_current();
                var courseOption = document.createElement('option');
                courseOption.value = oListItem.get_item('Title');
                courseOption.text = oListItem.get_item('Title');
                courseCodes.add(courseOption)
            }
        }

        function onCourseCodeQueryFailed(sender, args) {
            alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
        }

1 个答案:

答案 0 :(得分:1)

在调用SharePoint之后执行javascript函数时,这两个参数都由Javascript客户端对象模型提供。

Sender参数是ClientRequest类的实例。 您可以使用ClientRequest类的get_webRequest方法来获取用于调用SharePoint的对象。

args参数是ClientRequestFailedEventArgs / ClientRequestSucceededEventArgs类的一个实例。 该类有一个get_request方法,它通过类ClientRequest的get_webRequest方法返回相同的对象返回。

请参阅此链接以获取简要说明。这是我到目前为止为这个主题找到的最好的描述..

https://books.google.co.in/books?id=KLcd3spuSwMC&pg=PA415&lpg=PA415&dq=sender+and+args+in+javascript&source=bl&ots=XJkUVOBOrS&sig=uJ2Ta3Xcy6jfstxP9yDJWUXN_2I&hl=en&sa=X&ved=0ahUKEwiP87OXoqzYAhWMQo8KHQwuDbMQ6AEIbTAH#v=onepage&q=sender%20and%20args%20in%20javascript&f=false