no-promise-executor-return
禁止从 Promise 执行器函数返回值
new Promise
构造函数接受一个参数,称为执行器。
const myPromise = new Promise(function executor(resolve, reject) {
readFile('foo.txt', function(err, result) {
if (err) {
reject(err);
} else {
resolve(result);
}
});
});
执行器函数通常会启动一些异步操作。完成后,执行程序应调用 resolve
并返回结果,如果发生错误则调用 reject
。
执行器的返回值被忽略。从 executor 函数返回一个值是一个可能的错误,因为返回的值不能被使用并且它不会以任何方式影响 Promise。
规则详情
此规则不允许从 Promise 执行程序函数返回值。
QFykoFBJVHvU3zU7NwOI4NuHJdBPlBPsP94eZtAScS2hY0vNKcGxuNqLmTqo2fcBEV916iz6HT3C2U96SEqJIS9qEGx+YbR6H94hXTCR322pPkgj2ZDN1m6mBjD2fatM
zgtA9qULNJCisb93HMYHc8Ggw8n2GodjQYP9t+7ONpfp17nMeKkkY1jjCCLLF/nt
/*eslint no-promise-executor-return: "error"*/
new Promise((resolve, reject) => {
if (someCondition) {
return defaultResult;
}
getSomething((err, result) => {
if (err) {
reject(err);
} else {
resolve(result);
}
});
});
new Promise((resolve, reject) => getSomething((err, data) => {
if (err) {
reject(err);
} else {
resolve(data);
}
}));
new Promise(() => {
return 1;
});
j5a8iL9dfoZeFlnyStrti8akq1/5Rj4LSyBa2oD3zp4MkE6RNRzH0BEeMEEkOOkl
/*eslint no-promise-executor-return: "error"*/
new Promise((resolve, reject) => {
if (someCondition) {
resolve(defaultResult);
return;
}
getSomething((err, result) => {
if (err) {
reject(err);
} else {
resolve(result);
}
});
});
new Promise((resolve, reject) => {
getSomething((err, data) => {
if (err) {
reject(err);
} else {
resolve(data);
}
});
});
Promise.resolve(1);