Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs “我该如何解决?”;应在箭头函数末尾返回一个值;?_Reactjs_Typescript_Ecmascript 5 - Fatal编程技术网

Reactjs “我该如何解决?”;应在箭头函数末尾返回一个值;?

Reactjs “我该如何解决?”;应在箭头函数末尾返回一个值;?,reactjs,typescript,ecmascript-5,Reactjs,Typescript,Ecmascript 5,我正在使用typescript和eslint。Eslint抱怨在=>箭头之后返回,当我添加它时,这也不起作用-返回新承诺((解决,拒绝)=>返回{}。正确的语法是什么- function getSizeFromObjectUrl(dataURL: string): Promise<any> { return new Promise((resolve, reject) => { try { const img = new Image

我正在使用
typescript
eslint
。Eslint抱怨在
=>
箭头之后返回,当我添加它时,这也不起作用-
返回新承诺((解决,拒绝)=>返回{}
。正确的语法是什么-

function getSizeFromObjectUrl(dataURL: string): Promise<any> {
    return new Promise((resolve, reject) => {
        try {
            const img = new Image();
            img.onload = () => {
                const ratio = Math.min(300.0 / img.width, 300.0 / img.height);
                return resolve({
                    height: img.height * ratio,
                    width: img.width * ratio
                });
            };
            img.src = dataURL;
        } catch (exception) {
            return reject(exception);
        }
    });
}
函数getSizeFromObjectUrl(dataURL:string):承诺{ 返回新承诺((解决、拒绝)=>{ 试一试{ const img=新图像(); img.onload=()=>{ 常数比=数学最小值(300.0/img.宽度,300.0/img.高度); 返回解析({ 高度:img.高度*比率, 宽度:img.宽度*比率 }); }; img.src=数据URL; }捕获(例外){ 退货拒绝(例外); } }); } 像这样使用它-

const size=wait GetSizeFromoObject(imageUrl);

正确的语法是:

function getSizeFromObjectUrl(dataURL: string): Promise<any> {
    return new Promise((resolve, reject) => {
        try {
            const img = new Image();
            img.onload = () => {
                const ratio = Math.min(300.0 / img.width, 300.0 / img.height);
                resolve({
                    height: img.height * ratio,
                    width: img.width * ratio
                });
            };
            img.src = dataURL;
        } catch (exception) {
            reject(exception);
        }
    });
}
而不是:

case x: 
    // your code
正确的语法是:

function getSizeFromObjectUrl(dataURL: string): Promise<any> {
    return new Promise((resolve, reject) => {
        try {
            const img = new Image();
            img.onload = () => {
                const ratio = Math.min(300.0 / img.width, 300.0 / img.height);
                resolve({
                    height: img.height * ratio,
                    width: img.width * ratio
                });
            };
            img.src = dataURL;
        } catch (exception) {
            reject(exception);
        }
    });
}
而不是:

case x: 
    // your code

我在承诺解决/拒绝之前删除了退货。这很有效-

function getSizeFromObjectUrl(dataURL: string): Promise<any> {
    return new Promise((resolve, reject) => {
        try {
            const img = new Image();
            img.onload = () => {
                const ratio = Math.min(300.0 / img.width, 300.0 / img.height);
                resolve({
                    height: img.height * ratio,
                    width: img.width * ratio
                });
            };
            img.src = dataURL;
        } catch (exception) {
            reject(exception);
        }
    });
}
函数getSizeFromObjectUrl(dataURL:string):承诺{ 返回新承诺((解决、拒绝)=>{ 试一试{ const img=新图像(); img.onload=()=>{ 常数比=数学最小值(300.0/img.宽度,300.0/img.高度); 决心({ 高度:img.高度*比率, 宽度:img.宽度*比率 }); }; img.src=数据URL; }捕获(例外){ 拒绝(例外); } }); }
我在承诺解决/拒绝之前删除了退货。这很有效-

function getSizeFromObjectUrl(dataURL: string): Promise<any> {
    return new Promise((resolve, reject) => {
        try {
            const img = new Image();
            img.onload = () => {
                const ratio = Math.min(300.0 / img.width, 300.0 / img.height);
                resolve({
                    height: img.height * ratio,
                    width: img.width * ratio
                });
            };
            img.src = dataURL;
        } catch (exception) {
            reject(exception);
        }
    });
}
函数getSizeFromObjectUrl(dataURL:string):承诺{ 返回新承诺((解决、拒绝)=>{ 试一试{ const img=新图像(); img.onload=()=>{ 常数比=数学最小值(300.0/img.宽度,300.0/img.高度); 决心({ 高度:img.高度*比率, 宽度:img.宽度*比率 }); }; img.src=数据URL; }捕获(例外){ 拒绝(例外); } }); }
规则是关于一致性回报:

JavaScript的一个令人困惑的方面是,如果以下任何一项为真,则函数返回undefined:

  • 它在退出之前不执行return语句
  • 它执行不显式指定值的return
  • 它执行未定义的返回
  • 它执行返回void,后跟表达式(例如,函数调用)
  • 它执行return,后跟计算结果为undefined的任何其他表达式
如果函数中的任何代码路径显式返回值,但某些代码路径未显式返回值,则可能是键入错误,尤其是在大型函数中

因此,您需要做的是:

  • 显式返回
    try
    块中的内容(
    returnundefined
    如果愿意)
  • catch
    块中停止返回
  • 禁用该函数的规则

规则是关于一致回报:

JavaScript的一个令人困惑的方面是,如果以下任何一项为真,则函数返回undefined:

  • 它在退出之前不执行return语句
  • 它执行不显式指定值的return
  • 它执行未定义的返回
  • 它执行返回void,后跟表达式(例如,函数调用)
  • 它执行return,后跟计算结果为undefined的任何其他表达式
如果函数中的任何代码路径显式返回值,但某些代码路径未显式返回值,则可能是键入错误,尤其是在大型函数中

因此,您需要做的是:

  • 显式返回
    try
    块中的内容(
    returnundefined
    如果愿意)
  • catch
    块中停止返回
  • 禁用该函数的规则

eslint抱怨在箭头之后返回。因为你不能在箭头之后添加返回,箭头已经作为返回。在上面的回答中,任何箭头之后都没有返回,它期望在=>之后返回当前代码。我发现在承诺解决/拒绝之前删除返回会让eslint感到高兴。是的,我知道了,我更新了d回答者斯林特抱怨在一个箭头之后返回。因为你不能在一个箭头之后添加一个返回,这个箭头已经作为一个返回。在上面的回答中,在任何箭头之后都没有返回。在当前代码中,它期望在=>之后返回。我发现在承诺解析/拒绝之前删除返回会让斯林特感到高兴。是的,我知道了,我知道更新了答案虽然我喜欢这个答案,因为它解决了你的问题,但我认为@aquele hugo's更好,因为它解释了问题的原因。虽然我喜欢这个答案,因为它解决了你的问题,但我认为@aquele hugo's更好,因为它解释了问题的原因。