- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经记录了这个函数...
/**
* Perform an asynchronous HTTP (Ajax) request.
*
* @param {String|Object} url A string containing the URL to which the request is sent, or the settings object.
* @param {Object=} settings A set of key/value pairs that configure the Ajax request. All settings are optional.
* @param {Object=} settings.accepts A set of key/value pairs that map a given `dataType` to its MIME type, which gets sent in the Accept request header. This header tells the server what kind of response it will accept in return.
* @param {Boolean=} settings.async By default, all requests are sent asynchronously (i.e. this is set to true by default). If you need synchronous requests, set this option to false.
* @param {Function=} settings.beforeSend A pre-request callback function that can be used to modify the jqXHR.
* @param {Boolean=} settings.cache If set to false, it will force requested pages not to be cached by the browser.
* @param {Function=} settings.complete A function to be called when the request finishes (after success and error callbacks are executed).
* @param {Object=} settings.contents An object of string/regular-expression pairs that determine how jQuery will parse the response, given its content type.
* @param {Boolean|String=} settings.contentType When sending data to the server, use this content type. Default is "application/x-www-form-urlencoded; charset=UTF-8", which is fine for most cases.
* @param {Object=} settings.context This object will be the context of all Ajax-related callbacks.
* @param {Object=} settings.converters An object containing dataType-to-dataType converters. Each converter's value is a function that returns the transformed value of the response.
* @param {Boolean=} settings.crossDomain If you wish to force a crossDomain request (such as JSONP) on the same domain, set the value of crossDomain to true. This allows, for example, server-side redirection to another domain.
* @param {Object|String|Array=} settings.data Data to be sent to the server. It is converted to a query string, if not already a string. It's appended to the url for GET-requests.
* @param {Function=} settings.dataFilter A function to be used to handle the raw response data of XMLHttpRequest. This is a pre-filtering function to sanitize the response. You should return the sanitized data. The function accepts two arguments: The raw data returned from the server and the 'dataType' parameter.
* @param {String=json} settings.dataType The type of data that you're expecting back from the server. If none is specified, jQuery will try to infer it based on the MIME type of the response.
* @param {Function=} settings.error A function to be called if the request fails.
* @param {Boolean=true} settings.global Whether to trigger global Ajax event handlers for this request.
* @param {Object=} settings.headers An object of additional header key/value pairs to send along with requests using the XMLHttpRequest transport.
* @param {Boolean=false} settings.ifModified Allow the request to be successful only if the response has changed since the last request. This is done by checking the Last-Modified header.
* @param {Boolean=} settings.isLocal Allow the current environment to be recognized as "local," (e.g. the filesystem), even if jQuery does not recognize it as such by default.
* @param {String|Boolean=} settings.jsonp Override the callback function name in a JSONP request.
* @param {String|Function=} settings.jsonpCallback Specify the callback function name for a JSONP request.
* @param {String=GET} settings.method The HTTP method to use for the request (e.g. "POST", "GET", "PUT").
* @param {String=} settings.mimeType A mime type to override the XHR mime type.
* @param {String=} settings.password A password to be used with XMLHttpRequest in response to an HTTP access authentication request.
* @param {Boolean=true} settings.processData By default, data passed in to the data option as an object (technically, anything other than a string) will be processed and transformed into a query string, fitting to the default content-type "application/x-www-form-urlencoded". If you want to send a DOMDocument, or other non-processed data, set this option to false.
* @param {String=} settings.scriptCharset Only applies when the "script" transport is used (e.g., cross-domain requests with "jsonp" or "script" dataType and "GET" type). Sets the charset attribute on the script tag used in the request. Used when the character set on the local page is not the same as the one on the remote script.
* @param {Object=} settings.statusCode An object of numeric HTTP codes and functions to be called when the response has the corresponding code.
* @param {Function=} settings.success A function to be called if the request succeeds.
* @param {Number=} settings.timeout Set a timeout (in milliseconds) for the request.
* @param {Boolean=} settings.traditional Set this to true if you wish to use the traditional style of param serialization.
* @param {String=GET} settings.type An alias for method. A string containing the URL to which the request is sent.
* @param {String|Object=} settings.url A string containing the URL to which the request is sent, or an object to be sent to `wxu.link()`.
* @param {String=} settings.username A username to be used with XMLHttpRequest in response to an HTTP access authentication request.
* @param {Function=} settings.xhr Callback for creating the XMLHttpRequest object.
* @param {Object=} settings.xhrFields An object of fieldName-fieldValue pairs to set on the native XHR object.
* @returns {Promise.<Object>} Resolved when XHR request completes with 2xx status code, rejects otherwise
* @see https://api.jquery.com/jquery.ajax/
*/
export default function ajax(url, settings = {}) {
// *snip*
}
但是 eslint 给了我这个错误:
JSDoc syntax error
仅此而已。我不知道错误出在哪里。是否有一个用于验证 JSDocs 的工具可以为我提供精确的行号/列号?或者有人能发现问题吗?
我有另一个以类似方式记录的函数(记录了所有选项),并且该函数是无绒的,所以我认为这种格式是可以接受的。
最佳答案
经过多次试验和错误,看来Doctrine不喜欢参数的默认值。
var doctrine = require("doctrine");
let doc = `
/**
* Perform an asynchronous HTTP (Ajax) request.
*
* @param {String|Object} url A string containing the URL to which the request is sent, or the settings object.
* @param {Object=} settings A set of key/value pairs that configure the Ajax request. All settings are optional.
* @param {Object=} settings.accepts A set of key/value pairs that map a given \`dataType\` to its MIME type, which gets sent in the Accept request header. This header tells the server what kind of response it will accept in return.
* @param {Boolean=} settings.async By default, all requests are sent asynchronously (i.e. this is set to true by default). If you need synchronous requests, set this option to false.
* @param {Function=} settings.beforeSend A pre-request callback function that can be used to modify the jqXHR.
* @param {Boolean=} settings.cache If set to false, it will force requested pages not to be cached by the browser.
* @param {Function=} settings.complete A function to be called when the request finishes (after success and error callbacks are executed).
* @param {Object=} settings.contents An object of string/regular-expression pairs that determine how jQuery will parse the response, given its content type.
* @param {Boolean|String=} settings.contentType When sending data to the server, use this content type. Default is "application/x-www-form-urlencoded; charset=UTF-8", which is fine for most cases.
* @param {Object=} settings.context This object will be the context of all Ajax-related callbacks.
* @param {Object=} settings.converters An object containing dataType-to-dataType converters. Each converter's value is a function that returns the transformed value of the response.
* @param {Boolean=} settings.crossDomain If you wish to force a crossDomain request (such as JSONP) on the same domain, set the value of crossDomain to true. This allows, for example, server-side redirection to another domain.
* @param {Object|String|Array=} settings.data Data to be sent to the server. It is converted to a query string, if not already a string. It's appended to the url for GET-requests.
* @param {Function=} settings.dataFilter A function to be used to handle the raw response data of XMLHttpRequest. This is a pre-filtering function to sanitize the response. You should return the sanitized data. The function accepts two arguments: The raw data returned from the server and the 'dataType' parameter.
* @param {String=json} settings.dataType The type of data that you're expecting back from the server. If none is specified, jQuery will try to infer it based on the MIME type of the response.
* @param {Function=} settings.error A function to be called if the request fails.
* @param {Boolean=true} settings.global Whether to trigger global Ajax event handlers for this request.
* @param {Object=} settings.headers An object of additional header key/value pairs to send along with requests using the XMLHttpRequest transport.
* @param {Boolean=false} settings.ifModified Allow the request to be successful only if the response has changed since the last request. This is done by checking the Last-Modified header.
* @param {Boolean=} settings.isLocal Allow the current environment to be recognized as "local," (e.g. the filesystem), even if jQuery does not recognize it as such by default.
* @param {String|Boolean=} settings.jsonp Override the callback function name in a JSONP request.
* @param {String|Function=} settings.jsonpCallback Specify the callback function name for a JSONP request.
* @param {String=} settings.mimeType A mime type to override the XHR mime type.
* @param {String=} settings.password A password to be used with XMLHttpRequest in response to an HTTP access authentication request.
* @param {Boolean=true} settings.processData By default, data passed in to the data option as an object (technically, anything other than a string) will be processed and transformed into a query string, fitting to the default content-type "application/x-www-form-urlencoded". If you want to send a DOMDocument, or other non-processed data, set this option to false.
* @param {String=} settings.scriptCharset Only applies when the "script" transport is used (e.g., cross-domain requests with "jsonp" or "script" dataType and "GET" type). Sets the charset attribute on the script tag used in the request. Used when the character set on the local page is not the same as the one on the remote script.
* @param {Object=} settings.statusCode An object of numeric HTTP codes and functions to be called when the response has the corresponding code.
* @param {Function=} settings.success A function to be called if the request succeeds.
* @param {Number=} settings.timeout Set a timeout (in milliseconds) for the request.
* @param {Boolean=} settings.traditional Set this to true if you wish to use the traditional style of param serialization.
* @param {String=GET} settings.type An alias for method. A string containing the URL to which the request is sent.
* @param {String|Object=} settings.url A string containing the URL to which the request is sent, or an object to be sent to \`wxu.link()\`.
* @param {String=} settings.username A username to be used with XMLHttpRequest in response to an HTTP access authentication request.
* @param {Function=} settings.xhr Callback for creating the XMLHttpRequest object.
* @param {Object=} settings.xhrFields An object of fieldName-fieldValue pairs to set on the native XHR object.
* @returns {Promise.<Object>} Resolved when XHR request completes with 2xx status code, rejects otherwise
* @see https://api.jquery.com/jquery.ajax/
*/
`;
var ast = doctrine.parse(doc, {unwrap: true, recoverable: false});
var util = require('util');
console.log(util.inspect(ast.tags.map(t => ([t.title, t.name])), {depth: 5, colors: true}));
输出:
[ [ 'param', 'url' ],
[ 'param', 'settings' ],
[ 'param', 'settings.accepts' ],
[ 'param', 'settings.async' ],
[ 'param', 'settings.beforeSend' ],
[ 'param', 'settings.cache' ],
[ 'param', 'settings.complete' ],
[ 'param', 'settings.contents' ],
[ 'param', 'settings.contentType' ],
[ 'param', 'settings.context' ],
[ 'param', 'settings.converters' ],
[ 'param', 'settings.crossDomain' ],
[ 'param', 'settings.data' ],
[ 'param', 'settings.dataFilter' ] ]
删除所有默认值可以让它完成解析。我不知道如何指定 default values在参数名称语法中使用方括号,所以我想这是必须的。
关于javascript - 如何修复此 ESLint/JSDoc 语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43213926/
我将一个 div 设置为 100% 宽度,当以 1024 分辨率查看页面时,宽度应从 100% 变为 1000px,我让它与@media 查询一起正常工作,并且在 FF、safari chrome 上
希望有人能帮助我,我已经被困了几天了。 将我的 Domino 服务器更新到 9.01 Fix 3 后,我在 javascript 控制台上不断收到错误消息: TypeError: this.edito
我们正在使用一个基于RMI的java应用程序。当我们运行应用程序时,即使应用程序处于理想阶段,内存使用量仍然不断增加。我们主要使用Vector和散列图数据结构。如何最大限度地减少java内存使用/修复
概述 Internet Download Manager (IDM)是最流行的 Windows 下载管理器。如果你平时工作中使用过IDM,您会惊叹 IDM 下载文件的速度有多快。IDM
当我打开 brave 浏览器时,会打开一个窗口(如下所示)。它并没有真正干扰浏览器的处理。但令人担忧的是为什么这种情况一直发生...... Error On Opening Brave Browser
这是我今天在求职面试中被问到的一个问题: 看下面的代码: int n=20; for (int i =0; i
我不小心删除了/opt/local/bin/perl5.8.9 ,这似乎是 macports 编译的 perl 的主要二进制文件。 现在我有很多取决于 perl5 的端口,但不想卸载并重新安装所有端口
>>>flip fix (0 :: Int) (\a b -> putStrLn "abc") Output: "abc" 这是使用翻转修复的简化版本。 我在一些 YouTube 视频中看到了这种使用
这个问题已经有答案了: How can I fix 'android.os.NetworkOnMainThreadException'? (64 个回答) 已关闭 3 年前。 我在 Android 应
def main(): cash = float(input("How much money: ")) coins = 0 def changeCounter(n): whil
前一周我遇到了类似的问题,查询需要永远运行。在编写此查询时,我尝试应用从其他查询中学到的一些知识,但执行起来需要很长时间。 运行查询的两个单独部分时,每个部分需要 2 分钟才能完成,这是可以接受的,但
下午,我的 CSS 有问题。第三个下拉菜单放错了,我没有解决办法。 这是我想要的: 之前: http://i53.tinypic.com/2qu85z8.png 之后: http://i51.tiny
更新方法: override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingS
我知道这是一个很多人都遇到过的问题,但我不熟悉 Less 并且是 Bootstrap 的新手,我正在寻找一种全 CSS 解决方案来防止我的导航栏折叠到 768 像素以下:
在我的布局中,我创建了以下 jsfiddle 托管的可调整大小的粘性页脚。但是,在调整大小时它与内容重叠。有没有办法让它在所有浏览器上都能响应? http://jsfiddle.net/9aLc0mg
我想要实现的目标 racer-offset 是为了让用户可以设置图像可以以 px 为单位移动多远。偏移量管理偏移量。 Speed-racer 告诉我们图像在滚动过程中移动的速度。我的问题是它不会停止。
我有一个简单的自动换行函数,它接受一个长字符串作为输入,然后将该字符串分成更小的字符串,并将它们添加到一个数组中,以便稍后输出。现在最后一两个字没有输出。这是主要问题。但是,我还想改进功能。我知道这有
我试图在使用每个 slider 之前禁用“下一步”按钮,我不确定为什么在单击不再是 class="not-clicked"的同一个 slider 时取消禁用该按钮. JSFiddle: (这里看起来有
这个问题已经有答案了: What is a NullPointerException, and how do I fix it? (12 个回答) 已关闭 8 年前。 如何让程序输出所有信息? IT
On this page ,在“生活”下有一个带有自动生成的子菜单的菜单。子菜单存在一些问题(它会闪烁并改变大小——如果你滚动它就会看到)。我需要以某种方式覆盖它当前正在读取的 css 并使其统一。
我是一名优秀的程序员,十分优秀!