0
을 Express
에 통합하는 방법에 관한 학교 워크샵을 진행하고 있습니다. 우리는 우리의 hooks
활용 학습 섹션이 모델은-과 내가이 혼란을했다 :Sequelize (되돌아 오는 대 연결)의 후크 이해
이
후크를 부착 대 반환 저장 되는 페이지의 인스턴스 실행 인수로서 주어진다. 그러므로 urlTitle을 함수에서 반환하는 대신이 페이지 인스턴스에 첨부하고 싶습니다.
var Sequelize = require('sequelize');
var db = new Sequelize('postgres://localhost:5432/__wikistack__', {
logging: false,
});
const Page = db.define(
'page',
{
title: {
type: Sequelize.STRING,
},
urlTitle: {
type: Sequelize.STRING,
},
content: {
type: Sequelize.TEXT,
},
status: {
type: Sequelize.ENUM('open', 'closed'),
},
},
{
hooks: {
beforeValidate: function(page) {
if (page.title) {
// Removes all non-alphanumeric characters from title
// And make whitespace underscore
return (page.urlTitle = page.title.replace(/\s/g, '_').replace(/\W/g, ''));
} else {
// Generates random 5 letter string
return (urlTitle = Math.random()
.toString(36)
.substring(2, 7));
}
},
},
}
);
사람이를 설명 할 수 있습니까? 후크의 함수가 어떻게 반환하지 않을 수 있습니까? 위의 작품, 그래서 후크/함수가 뭔가를 반환합니다.
미리 감사드립니다.