我在组件导入该模块的react程序中使用此模块。我需要将访问令牌一经接收就存储在全局变量中,但是由于某种原因,我无法弄清楚全局变量似乎并没有按照需要进行更改
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
// email項目で自分を無視するときにundefined $userの回避のため
use Illuminate\Support\Facades\Auth;
class UserProfileUpdateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
// email項目で自分を無視するときにundefined $userの回避のため
$user = Auth::user();
return [
'name' => 'required|string|max:10|
regex:/^[^ -~。-゚\x00-\x1f\t]+$/u',
'name_kana' => 'required|string|max:20|
regex:/^[^ -~。-゚\x00-\x1f\t]+$/u|
regex:/^[ァ-ヶー]+$/u',
'email' => ['required', 'string', 'email',
Rule::unique("users")->ignore($user->id)],
'email_confirmation' => 'required|email|same:email',
'birth_day' => 'required|date',
'address' => 'required|max:40|
regex:/^[^ -~。-゚\x00-\x1f\t]+$/u',
'job_type_id' => 'required',
'password' => 'required|min:4|max:8|
regex:/^[a-zA-Z0-9]+$/u',
];
}
}
**代码中的这一点我想知道为什么userAccessToken没有存储在模块上方的全局变量中?我知道该值存储在本地,但是我需要全局更改该值。当我console.log时,它始终是一个空字符串,并且我的布尔标志没有改变吗?
let usersAccessToken = '';
const clientId = 'ca47d370807d46718c513653fb3d2e';
const UriRedirect = 'http://localhost:3000/';
let flag = false;
console.log(flag);
console.log(usersAccessToken);
const Spotify = {
getAccessToken: function () {
//
if (usersAccessToken.length>0) {
console.log('step 1');
flag = true;
return usersAccessToken;
} else if (window.location.href.match(/access_token=([^&]*)/) !== null && window.location.href.match(/expires_in=([^&]*)/) !== null) {
答案 0 :(得分:0)
下面的代码工作正常,您可以看一下下面的代码,这对我来说很好。
经过测试... https://repl.it/repls/PitifulEarlyMapping
let usersAccessToken = '';
let flag = false;
console.log(flag);
console.log('token',usersAccessToken);
getAccessToken();
function getAccessToken() {
if (usersAccessToken.length>0) {
console.log('step 1');
flag = true;
return usersAccessToken;
} else if (flag== false) {
console.log('step 2');
usersAccessToken = 'tokebjzgdhjasgfj';
return usersAccessToken;
} else {
console.log('step 3');
flag = true;
return usersAccessToken;
}
}