function makeRejectable(...promisess) {
let reject;
const rejector = new Promise((_, r) => reject = r);
const promise = Promise.race([
Promise.all(promisess),
rejector
]);
return [promise, reject]
}
const [promise, reject] = makeRejectable(...promisess);
promise.then(console.log, console.error);
reject('reject');
import { DocumentRenderer } from '@keystone-next/document-renderer';
const renderers = {
inline: {
bold: ({ children }) => {
return <strong>{children}</strong>;
},
},
block: {
paragraph: ({ children, textAlign }) => {
return <p style={{ textAlign }}>{children}</p>;
},
},
};
<DocumentRenderer document={document} renderers={renderers} />;
tm_css(css, important) {
if(important) {
css = css.replace(/(?=[^\n\S]*;[^\n\S]*\n|[^\n\S]*\n[^\n\S]*\})/g, ' !important');
}
(document.body||document.head||document.documentElement)
.insertAdjacentHTML('beforeend', `<style is="tm_css">${css}</style>`);
}
/\s/
./\(текст\)/
./тут\s+длинная\s+строка.\s+слова\s+разделены\s+пробелами/g
:function spacify(regexp) {
const { source, flags } = regexp;
return new RegExp( source.replace(/\s+([*+{?])?/g, (_, mod) => `\\s${mod ?? '+'}`), flags )
}
function escapeRegExp(string) {
return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
}
function toSpacedRegExp(string, flags = 'g') {
return new RegExp( escapeRegExp(string).replace(/\s+/g, '\\s+'), flags )
}
// /тут\s+длинная\s+строка\.\s+слова\s+разделены\s+пробелами/g
const text = toSpacedRegExp('тут длинная строка. слова разделены пробелами')
В моем понимании стрелочная функция берет контекст при объявлении
class Car{
constructor() {
this.name = "BMW"
}
showname = () => {
console.log(this.name);
}
}
let { showname } = new Car();
let obj = {
name: 'random',
showname
}
obj.showname() // всё равно BMW
class Car {
storedThis = this
}
const car = new Car();
const { storedThis } = car;
car === storedThis; // true
jsx
это вообще отношения не имеет.if else
, как-то используй результат(например return isOnSa...
), или отключи\заигнорь правило - никакой реальной проблемы тут нет, просто такие конструкции зачастую могут быть ошибкой(когда ты просто забыл использовать результат). Observable<PayerTypes>
. Другим он быть не может и ни от чего не зависит. Зачем там url
?type Urls = {
getPayerTypes: PayerTypes;
getNPCTypes: NPCTypes;
}
private httpGet<K extends keyof Urls>(url: K): Observable<Urls[K]> {
return this.http.get<Urls[K]>(url)
.pipe(
pluck('data'),
catchError(this.handleError)
);
}
contentEditable=true