return resolve()
return resolve()
прекратит выполнение функции как нормальный return
, который зависит только от потока вашего кода. Если вам не нужен или нужен какой-либо код для выполнения вашей функции, используйте return
для выхода из функция
return new Promise((resolve, reject) => {
fs.readFile(file, (err, data) => {
if (err) reject(err)
return resolve(data)
console.log('after return') // won't execute
})
})
только resolve
создаст успешное состояние обещание, но выполнит выполнение кода, если таковые имеются, когда return
не используется.
Помните resolve()
и reject()
создать состояние обещания, что они не могут быть изменены после создания государства, .then
и .catch
обработчиков используются для дальнейшего выполнения, использования return
полностью зависит от потока кода. Если вы не хотите выполнять больше кода в этом блоке, а затем return resolve()
return new Promise((resolve, reject) => {
fs.readFile(file, (err, data) => {
if (err) reject(err)
resolve(data)
console.log('after return') // will execute
})
})
это просто так же, как обычный return
заявление в function
и не имеет ничего общего с обещанием
Здесь не будет иметь значения. – elclanrs
Я думаю, что в первом случае вы можете цепью, но во втором случае вы не можете –